Django Postgres无法从环境变量读取数据库密码

时间:2019-03-14 07:01:38

标签: django postgresql webfaction

我已经在.bash_profile文件中设置了数据库密码的环境变量,但是PostgreSQL的PASSWORD字段没有读取该变量。 另外,我可以成功在production.py文件中打印密码,但是PostgreSQL不会使用该密码。

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'NAME': '********_db',
    'USER': '*****_name',
    'PASSWORD':os.environ.get("RS_DB_PWD"),
}
#The below will show the password correctly.
print(os.environ.get("RS_DB_PWD"))

1 个答案:

答案 0 :(得分:3)

我会尽量避免在.bash_profile中声明变量,而是在项目内部创建.env文件(如果使用git,则将其添加到.gitignore),然后将所有秘密变量放入其中并使用Python-DecoupleDynaconf之类的工具从.env中读取它们。