【发布时间】:2015-01-04 13:52:45
【问题描述】:
我已经在网站上工作了一段时间(Heroku 上的 Django/Python)。我通常在开发时使用 debug = true ,但现在当我设置为 false 时,我会从 Heroku 收到“应用程序错误”。我的日志告诉我问题是“请求中断”(H18,sock=backend)。
我了解这意味着我的代码中某处有错误,但对于我的一生,我无法弄清楚在哪里。
当 Debug=False 时,我也很难找到有效的调试工作流程。我有 logentries 和 NewRelic 用于 Heroku 应用程序的错误监控,但 NewRelic 报告 0 个错误,而 logentries 只给我默认的 heroku-app 错误日志。
我不可能向您展示我所有的代码(我也不会),所以我意识到任何人都很难确定我的确切问题 - 因此我更笼统地询问。
我知道所有 URL 都需要以斜线结尾,并且需要 ALLOWED_HOSTS 设置 - 但是当 debug = false 时还有什么可能导致这些错误?
哦,请注意,当调试为真时,一切都按预期工作。
我正在运行 Django 1.7 版和 Python 2.7.6 版。
这些是我使用的第 3 方应用程序:
- Grappelli(在默认 Django 应用之前加载)
- 独角兽
- 存储
- 压缩机
- 快速收集
- 干草堆
- bootstrap3
- 机器人
- sorl.thumbnail
- django_countries
- django_wysiwyg
- 验证文件
- 色域
- cookie 法
【问题讨论】:
-
尝试设置
COMPRESS_ENABLED = False,或者更好的是,将其设置为True和DEBUG = True,我怀疑这是罪魁祸首。COMPRESS_ENABLED默认为not DEBUG,因此默认情况下它与DEBUG = False的行为不同。其他一些第三方应用程序可能有类似的行为。您是否仔细检查了您的ALLOWED_HOSTS设置是否有错误? -
我实际上已经尝试过很多次使用 COMPRESS_ENABLED,但感谢您的想法。
标签: python django debugging heroku web