2013-04-28 36 views
6

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

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

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

任何提示或解决方案?

回答

10

你的django settings.py文件甚至可以在环境中查看吗?

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

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

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

要禁用调试,删除从环境,而不是试图强制类型转换变量...它只是似乎更可靠,傻瓜证明。 config:unset DEBUG

+0

是的,几乎任何东西不同之间的阶段和生产是从环境中绘制。我会尝试完全删除它。 – Murph 2013-04-28 00:35:37

+0

真棒,只是删除它,而不是将其设置为False完美地工作!谢谢! – Murph 2013-04-28 00:38:42

+1

太棒了!所以我猜猜,类型转换可能不起作用bool('False')。 – 2013-04-28 00:40:48