【发布时间】:2017-11-18 02:19:16
【问题描述】:
使用 django 1.11,我定义了一个自定义 404 处理程序,通过在我的主要 URLs.py 中编写:
handler404 = 'myApp.views.myError'
函数myError() 如下所示:
def myError(request):
#errorMsg=request.error_404_message
return render(request,'404.html')
当我调用raise Http404("My msg") 时,此功能有效。
但是,当我尝试获取 Http404 调用传递的消息时(请参阅 myError 中的注释部分),我的代码崩溃了:
服务器错误 (500)
然后我怎样才能得到错误消息?我读了很多关于它的问题like this one,但大多数答案是指在 html 文件中获取消息,而不是在自定义 python 错误处理函数中。
编辑: 问题是,我看不到调试页面,因为显然只有在调用 myError() 时才会出现错误,而且只有在设置中出现 debug=False 时才会发生这种情况。
【问题讨论】:
-
不要说
Server Error (500),您应该包括完整的回溯,来自您的日志/错误电子邮件。 -
@Alasdair 查看编辑。还有其他可能看到调试页面吗?我在终端中没有收到错误
-
你是对的,你看不到黄色的错误页面,因为你需要设置
DEBUG=False来测试自定义的404页面。我希望在您的日志或发送给站点管理员的电子邮件中看到回溯。
标签: python django http-status-code-404 extract-error-message