Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django can';找不到我的环境变量?未找到视图\数据库\用户。将其声明为envvar或定义默认值_Django_Environment Variables_Connect_Credentials_Decoupling - Fatal编程技术网

Django can';找不到我的环境变量?未找到视图\数据库\用户。将其声明为envvar或定义默认值

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

我正在django开发一个应用程序,我在Heroku上推了它

我想在my views.py中使用SQL查询我的数据库,因此我使用
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
。啊,你能分享完整的错误日志吗?