Django Postgres 不从环境变量中读取数据库密码
Django Postgres not reading DB password from environment variable
我已经在 .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"))
我会尽量避免在 .bash_profile
中声明变量,而是在您的项目中创建 .env
文件(如果您使用 git,请添加它 .gitignore
)将放置所有秘密变量并使用 Python-Decouple or Dynaconf 之类的工具从 .env
.
中读取它们
我已经在 .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"))
我会尽量避免在 .bash_profile
中声明变量,而是在您的项目中创建 .env
文件(如果您使用 git,请添加它 .gitignore
)将放置所有秘密变量并使用 Python-Decouple or Dynaconf 之类的工具从 .env
.