Django can';找不到我的环境变量?未找到视图\数据库\用户。将其声明为envvar或定义默认值
我正在django开发一个应用程序,我在Heroku上推了它 我想在my views.py中使用SQL查询我的数据库,因此我使用Django can';找不到我的环境变量?未找到视图\数据库\用户。将其声明为envvar或定义默认值,django,environment-variables,connect,credentials,decoupling,Django,Environment Variables,Connect,Credentials,Decoupling,我正在django开发一个应用程序,我在Heroku上推了它 我想在my views.py中使用SQL查询我的数据库,因此我使用connect方法连接到我的数据库 在部署我的应用程序时,我显然想隐藏我的数据库凭据 因此,我将它们保存在根目录中的.env文件中,并使用config函数从my views.py调用这些变量 然而,我遇到: 未找到视图\数据库\用户。将其声明为envvar或定义默认值 价值观 (查看数据库用户=config(“查看数据库用户”)时出错 以下是我的视图.py: impor
connect
方法连接到我的数据库
在部署我的应用程序时,我显然想隐藏我的数据库凭据
因此,我将它们保存在根目录中的.env
文件中,并使用config
函数从my views.py调用这些变量
然而,我遇到:
未找到视图\数据库\用户。将其声明为envvar或定义默认值
价值观
(查看数据库用户=config(“查看数据库用户”)时出错
以下是我的视图.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包含另一个数据库的密码,该密码保存在my.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
这是因为我忘了在HerokuConfig Vars部分添加环境变量
请参阅“部署到Heroku”一段您是否使用了与此解耦的
?也许你可以分享你的requirements.txt
。啊,你能分享完整的错误日志吗?