我正在尝试在 Heroku 上部署我的 django 应用程序,但问题是我无法从 python 代码访问我的配置变量。
这是我的配置变量(由于显而易见的原因进行了混淆)
$ heroku config --remote production
=== myapp Config Vars
DATABASE_URL: postgres://<removed>
DJANGO_DEBUG: 0
GOOGLE_APPLICATION_CREDENTIALS: <removed>
SECRET_KEY: <removed>
现在,在我的 django settings.py 中,代码
import os
os.environ["DJANGO_DEBUG"]
例如导致错误,因为在字典 os.environ
中找不到键“DJANGO_DEBUG”。
我的问题是:如何在生产环境中访问 Heroku 配置变量?
我已经尝试了 python-decouple 包,但它也无法访问配置变量。 (在本地,我的变量放在一个 .env 文件中,并且可以在包 python-decouple 的帮助下访问)
编辑:我实际上意识到可以从我的应用程序和命令访问配置变量 if 我从 heroku 的应用程序页面内运行 bash,但是如果我在一个 ssh session ,即,如果我像这样运行 python:
$heroku ps:exec
$python
os.environ
不包含我的配置变量。
感谢您的帮助!
最佳答案
我是原主。原来问题出在我访问远程终端 session 的方式上。让所有配置变量都可访问的正确方法是
heroku run bash
相对于
heroku ps:exec
关于python - 无法从 python 代码访问 Heroku 配置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62606306/