Django 找不到我的环境变量? VIEW_DB_USER 未找到。将其声明为 envvar 或定义一个默认值
Django can't find my environment variable? VIEW_DB_USER not found. Declare it as envvar or define a default value
我正在用 django 开发一个应用程序并将其推送到 Heroku。
我想在 views.py 中使用 SQL 查询我的数据库,所以我使用 connect
方法连接到我的数据库。
在部署我的应用程序时,我显然想隐藏我的数据库凭据。
所以我将它们保存在根目录的 .env
文件中,并使用 config
函数从我的 views.py.
中调用这些变量
不过,我运行进入:
VIEW_DB_USER not found. Declare it as envvar or define a default
value.
(在 view_db_user = config("VIEW_DB_USER")
处出错)
这是我的 views.py:
import os
import django_heroku
from decouple import config
import dj_database_url
view_db_user = config("VIEW_DB_USER")
view_db_password = config("view_db_password")
view_db_host = config("view_db_host")
view_db_database = config("view_db_database")
mydb = pg2.connect(user=VIEW_DB_USER, password=view_db_password,
host=view_db_host, database=view_db_database)
这是我的 .env
文件:
SECRET_KEY = 'credential_1'
VIEW_DB_USER = 'credential_2'
view_db_password = 'credential_3'
view_db_host = 'credential_4'
view_db_database = 'credential_5'
据我所知,问题是函数 config
无法正常工作。但是为什么?
请注意,这在本地和 heroku 上都不起作用。
另请注意,SECRET_KEY 包含另一个完美工作的数据库的密码,因为此密码存储在我的 .env
文件中。
已解决:
第一个问题是 .env
文件中的列。
通过以下修复,它在本地完美运行,而在 Heroku 上我仍然遇到相同的错误:
SECRET_KEY = 'credential_1'
VIEW_DB_USER = credential_2
view_db_password = credential_3
view_db_host = credential_4
view_db_database = credential_5
这是因为我忘记在 Heroku Config Vars 部分添加环境变量
参见 this tutorial 段落 "deploying to Heroku"
我正在用 django 开发一个应用程序并将其推送到 Heroku。
我想在 views.py 中使用 SQL 查询我的数据库,所以我使用 connect
方法连接到我的数据库。
在部署我的应用程序时,我显然想隐藏我的数据库凭据。
所以我将它们保存在根目录的 .env
文件中,并使用 config
函数从我的 views.py.
不过,我运行进入:
VIEW_DB_USER not found. Declare it as envvar or define a default value.
(在 view_db_user = config("VIEW_DB_USER")
处出错)
这是我的 views.py:
import os
import django_heroku
from decouple import config
import dj_database_url
view_db_user = config("VIEW_DB_USER")
view_db_password = config("view_db_password")
view_db_host = config("view_db_host")
view_db_database = config("view_db_database")
mydb = pg2.connect(user=VIEW_DB_USER, password=view_db_password,
host=view_db_host, database=view_db_database)
这是我的 .env
文件:
SECRET_KEY = 'credential_1'
VIEW_DB_USER = 'credential_2'
view_db_password = 'credential_3'
view_db_host = 'credential_4'
view_db_database = 'credential_5'
据我所知,问题是函数 config
无法正常工作。但是为什么?
请注意,这在本地和 heroku 上都不起作用。
另请注意,SECRET_KEY 包含另一个完美工作的数据库的密码,因为此密码存储在我的 .env
文件中。
已解决:
第一个问题是 .env
文件中的列。
通过以下修复,它在本地完美运行,而在 Heroku 上我仍然遇到相同的错误:
SECRET_KEY = 'credential_1'
VIEW_DB_USER = credential_2
view_db_password = credential_3
view_db_host = credential_4
view_db_database = credential_5
这是因为我忘记在 Heroku Config Vars 部分添加环境变量
参见 this tutorial 段落 "deploying to Heroku"