如何捕获 Django 400 错误

How to trap Django 400 error

一个以前运行良好的应用程序在我的应用程序中开始提高 "Bad Request(400)" 每当使用 filebrowser 应用程序时。该应用程序设置为 DEBUG=True,其他地方的错误会引发预期的厄运黄屏。与旧版本的设置不同告诉我那里没有任何改变,文件设置指向正确的目录,我认为排除 Django FileBrowser 400 Error 作为解释。这当然曾经起作用。问题不是出现在我安装的其他地方的控制台或错误转储页面,而是简洁的 Bad Request 页面。

我承认这些信息不足以调试错误本身,坦率地说,我不知道去哪里找。

我的问题是;- 当发生这种情况时,有没有办法在它引发 400 时捕获它并调试它。当我需要检查程序状态时,我在其他情况下使用 ipdb,但这甚至没有给我足够的信息来知道在哪里放置断点!

附加

为避免混淆,调试设置为 True,日志记录配置为转储到控制台,所有控制台显示为

[11/Mar/2015 16:58:48] "GET /admin/filebrowser/browse/?pop=1 HTTP/1.1" 400 26

好的,我找到了答案。

我似乎以某种方式触发了 "suspicious operation"(看起来它实际上是由于 Django FileBrowser 400 Error),但是错误被不合理地抑制了。此错误票解决了它:

https://code.djangoproject.com/ticket/21668

最后的变更集修复了它(但是我不得不在最后删除 status_code 参数,是否已弃用?)

如果有人对发生这种情况的其他情况有更笼统的答案,我会将您的答案设置为已接受的答案。