Django:在自定义404错误指针中显示Http404(“msg”)传递的错误消息

2024-04-27 20:26:53 发布

您现在位置:Python中文网/ 问答频道 /正文

使用django1.11,我定义了一个自定义404处理程序,方法是在main中编写网址.py公司名称:

handler404 = 'myApp.views.myError'

函数myError()如下所示:

^{pr2}$

这个函数在我调用raise Http404("My msg")时起作用。 但是,当我试图获取Http404调用传递的消息时(请参阅myError中的注释部分),我的代码崩溃:

Server Error (500)

我如何才能得到错误信息?我读过很多关于它的问题like this one,但是大多数的答案都是在html文件中而不是在自定义的python错误处理函数中获取消息。在

编辑:问题是,我看不到调试页面,因为显然只有在调用myError()时才会发生错误,并且只有在设置中debug=False时才会发生这种情况。在


Tags: 方法函数py名称消息处理程序定义main
1条回答
网友
1楼 · 发布于 2024-04-27 20:26:53

默认情况下,请求没有error_404_message属性,因此request.error_404_message将给您一个错误。在

The answer you linked to将其设置为属性,但我不明白为什么要在django1.9+中执行此操作,因为您已经可以访问视图中的异常。在

自定义视图的签名应为:

def myError(request, exception, template_name='404.html'):
    ...

现在您可以访问exception。您可以查看default page not found view如何从异常中提取消息。在

相关问题 更多 >