Python和Ubuntu中的环境变量

I did set up variables in my .profile file in an ubuntu server. I know they are there because I've checked with a print(os.environ)

但是我想将它们导入.conf文件中,但无法正常工作:

from . import *
import os    
SECRET_KEY = '***********'
DEBUG = False
ALLOWED_HOSTS = ['xx.xx.xx.xx']

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'os.environ.get('DB_NAME')',
        'USER': 'os.environ.get('DB_USER')',
        'PASSWORD': 'os.environ.get('DB_PASSWORD')',           
        'HOST': '',
        'PORT': '5432',
    }
}

如果我将值直接传递到配置文件中,则可以正常工作。

评论
  • Arvin
    Arvin 回复

    不要将函数放在引号中。

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql',
            'NAME': os.environ.get('DB_NAME'),
            'USER': os.environ.get('DB_USER'),
            'PASSWORD': os.environ.get('DB_PASSWORD'),           
            'HOST': '',
            'PORT': '5432',
        }
    }
    

  • 唯一的幸福
    唯一的幸福 回复

    您已将函数放在引号中。 像这样写:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql',
            'NAME': os.environ.get('DB_NAME'),
            'USER': os.environ.get('DB_USER'),
            'PASSWORD': os.environ.get('DB_PASSWORD'),           
            'HOST': '',
            'PORT': '5432',
        }
    }