【问题标题】:Impossible to access Heroku config vars from python code无法从 python 代码访问 Heroku 配置变量
【发布时间】:2023-04-05 18:26:01
【问题描述】:

我正在尝试在 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 会话,即,如果我像这样运行 python:

$heroku ps:exec
$python

os.environ 不包含我的配置变量。

感谢您的帮助!

【问题讨论】:

    标签:
    python
    django
    heroku
    config