python - 无法从 python 代码访问 Heroku 配置变量

标签 python django heroku config

我正在尝试在 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/

相关文章:

javascript - 加载 10 个以上项目的 AJAX 调用无法按预期工作

ruby-on-rails - Heroku 上的私有(private)酒吧 | rails 3

ruby-on-rails - 我的服务器是否应该与登录页面位于不同的域中?

python - django 在 QuerySet 上使用 len() 时给出 TypeError

python - 了解 Keras 中语音识别的 CTC 损失

python - Jinja2 模板的整洁

python - 我可以预编译 python 脚本吗?

python - 如何自定义 Django-Userena 更改密码表单的外观

python - Django 1.9.1 prefetch_related 仅多次命中数据库

ruby-on-rails-3 - 使用 Rails 和 Squeel 在 PostgreSQL 上请求