使用django1.11,我定义了一个自定义404处理程序,方法是在main中编写网址.py公司名称:
handler404 = 'myApp.views.myError'
函数myError()
如下所示:
这个函数在我调用raise Http404("My msg")
时起作用。
但是,当我试图获取Http404
调用传递的消息时(请参阅myError中的注释部分),我的代码崩溃:
Server Error (500)
我如何才能得到错误信息?我读过很多关于它的问题like this one,但是大多数的答案都是在html文件中而不是在自定义的python错误处理函数中获取消息。在
编辑:问题是,我看不到调试页面,因为显然只有在调用myError()时才会发生错误,并且只有在设置中debug=False
时才会发生这种情况。在
默认情况下,请求没有
error_404_message
属性,因此request.error_404_message
将给您一个错误。在The answer you linked to将其设置为属性,但我不明白为什么要在django1.9+中执行此操作,因为您已经可以访问视图中的异常。在
自定义视图的签名应为:
现在您可以访问
exception
。您可以查看default page not found view如何从异常中提取消息。在相关问题 更多 >
编程相关推荐