我正在尝试使用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)
我很大程度上不能通过乘客运行我的django应用程序(即使在开发中),而不是manage.py。
有什么方法可以让werkzeug调试器在这些条件下工作?例如,我可以阻止Django拦截错误本身吗?
答案 0 :(得分:7)
您可以使用DEBUG_PROPAGATE_EXCEPTIONS设置禁用Django异常处理。然后Werkzeug将能够处理它。
答案 1 :(得分:2)
使用django-command-extensions很容易。 runserver_plus命令以werkzeug调试器为特色。
答案 2 :(得分:1)
这是因为Django在django.core.handlers.wsgi.WSGIHandler()返回任何内容之前很久就拦截了任何错误并将它们转换为错误页面。你将无法以这种方式工作,因为Django站点中的应用程序错误永远不会一直传播回顶层。