【问题标题】:Unable to access Heroku config vars from Django settings.py无法从 Django settings.py 访问 Heroku 配置变量
【发布时间】:2014-03-08 04:13:42
【问题描述】:

我在 Heroku 上设置了一些配置变量,如下所述:https://devcenter.heroku.com/articles/config-vars。 当我跑步时:

heroku config

我在列表中看到了配置变量:

COMPRESS_OFFLINE:                  True

我可以跑

heroku config:get COMPRESS_OFFLINE

我得到:

True

在我的 Django settings.py 中,我有:

import os
COMPRESS_OFFLINE = os.environ['COMPRESS_OFFLINE']

这就是上面链接的文章告诉您在 Django 中访问 Heroku 配置变量的方式。我在我的本地 .env 文件中设置了这个配置变量,我可以在本地运行工头。但是,当我部署到 Heroku 时,我在部署期间收到此错误:

KeyError: 'COMPRESS_OFFLINE'
!     Push rejected, failed to compile Python app

我觉得我错过了一些非常明显的东西,有什么建议吗?

【问题讨论】:

    标签: django heroku settings config


    【解决方案1】:

    我从 Heroku 支持处得到答复,默认情况下在 slug 编译期间环境变量不可用。但是,有一个名为 user-env-compile 的实验性功能将使它们可用:http://devcenter.heroku.com/articles/labs-user-env-compile

    不过,我不需要这个。我认为因为它在编译期间找不到它们,所以它根本无法找到它们。但是,我发现它们在编译后可用。所以,我刚刚更新了 settings.py 有:

    COMPRESS_OFFLINE = os.environ.get('COMPRESS_OFFLINE', True)
    

    这样当环境变量不可用时,它在编译期间默认为 True。

    【讨论】:

    • 有没有使用节点的解决方案?卡在同一个问题上。
    猜你喜欢
    • 2023-04-05
    • 2018-07-12
    • 2020-06-03
    • 1970-01-01
    • 1970-01-01
    • 2019-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多