Heroku Django DEBUG设置未应用

时间:2013-04-28 00:24:19

标签: django heroku

我目前在Heroku上有一个正在运行的生产Django应用程序。不幸的是,我无法关闭Heroku上的DEBUG设置。在本地关闭它可以正常工作,但是当推送到Heroku时(heroku config:set DEBUG=False之后),它不适用。

错误页面仍然是默认的DEBUG页面,而不是模板根目录中的404,403和500模板。

我还尝试使用DJANGO_DEBUG设置,以防与DEBUG发生任何环境冲突,并将结果转换为设置文件中的布尔值。 heroku config显示环境中的设置是正确的。这是在Django 1.3,Heroku Cedar。

任何提示或解决方案?

2 个答案:

答案 0 :(得分:13)

您的django settings.py文件是否在环境中查看?

默认情况下,它并不关心您在环境中设置的任何内容(通过" config:set")。如果你正在铸造"将环境设置为布尔值,请确保正确地投射它。 bool(' False')仍为True。

最简单的方法是检测环境变量是否存在,这样您就不必担心类型转换或配置的特定格式。

DEBUG = os.environ.get('DEBUG', False)

要禁用调试,从环境中删除变量而不是尝试键入强制转换...它似乎更可靠和万无一失。 config:unset DEBUG

答案 1 :(得分:0)

问题在于环境变量不是布尔值,而是字符串。 因此,请放在settings.py

中的行下方

DEBUG_VALUE = (os.environ.get('DEBUG_VALUE') == 'True')