如何在Django中将异常传递给500错误处理程序

我一直在学习Django并尝试自定义错误页面。但是,要显示这些页面,您必须在设置中设置DEBUG = False,从而阻止显示有关服务器错误的任何信息。因此,我想设置一个自定义500处理程序,该处理程序将显示引发的异常。

我设置了以下错误处理程序:

from django.shortcuts import redirect
from django.http import HttpResponse

def handler404(request,exception):
    # make a redirect to homepage
    return redirect('cookiecrumbsapp/cookieCrumbs')

def handler500(request):
    #handle error messages for debugging - set to obscure error once tested
    return HttpResponse("500")

并在我的url文件中添加了适当的定义:

handler404 = 'cookiecrumbs.views.handler404'
handler500 = 'cookiecrumbs.views.handler500'

这些处理程序可以正常工作,但是我找不到一种方法来显示导致服务器上出现500错误的实际异常/错误。我知道在Django的较旧版本(根据this thread,exception参数传递给500处理程序的功能,就像404参数一样,但是该功能已被删除-是否在那里有什么方法可以在新版本中实现类似的功能,以便我可以在页面上显示错误消息?

如果有帮助,Django版本是2.2.7

编辑This answer提供了很好的解决方案

wang2005727 回答:如何在Django中将异常传递给500错误处理程序

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3163329.html

大家都在问