4

我正在尝试使用 werkzeug 调试器,但尽管按照建议安装它,但我只是得到正常的 django 错误页面。

从我的passenger_wsgi.py:

import django.core.handlers.wsgi
from werkzeug.debug import DebuggedApplication

application = django.core.handlers.wsgi.WSGIHandler()
application = DebuggedApplication(application, evalex=True)

我在很大程度上受限于通过乘客而不是 manage.py 运行我的 django 应用程序(即使是在开发中)。

有什么方法可以让 werkzeug 调试器在这些条件下工作?例如,我可以阻止 Django 拦截错误本身吗?

4

3 回答 3

7

您可以使用 DEBUG_PROPAGATE_EXCEPTIONS 设置禁用 Django 异常处理。然后 Werkzeug 将能够处理它。

于 2011-09-23T14:16:59.593 回答
2

使用django-command-extensions很容易。runserver_plus命令具有 werkzeug 调试器。

于 2011-07-24T14:03:09.373 回答
1

这是因为 Django 早在 django.core.handlers.wsgi.WSGIHandler() 返回任何内容之前就拦截了任何错误并将它们转换为错误页面。您将无法让它以这种方式工作,因为您的 Django 站点中的应用程序错误永远不会一直传播到顶层。

于 2011-07-24T09:05:49.163 回答