Django 捕获自定义500处理程序中的错误文本

Django 捕获自定义500处理程序中的错误文本,django,Django,在我看来,我犯了一个错误,尤其是这个错误: 视图.py from xmlrpclib import Fault def some_function(request): if ....: return Fault(-1, 'foo') 然后,同样在views.py中,我有一个自定义的500处理程序来捕获服务器错误: def my_custom_500(request): context = {...} ### Here is where I need t

在我看来,我犯了一个错误,尤其是这个错误:

视图.py

from xmlrpclib import Fault

def some_function(request):
    if ....:
        return Fault(-1, 'foo')
然后,同样在views.py中,我有一个自定义的500处理程序来捕获服务器错误:

def my_custom_500(request):
    context = {...}
    ### Here is where I need to catch `'foo'` 
    ### in order to put it in the context and pass it to the template
    render(request, '500.html', context)
我是否可以访问错误消息?
谢谢

尝试覆盖
urls.py中的
django.conf.urls.defaults.handler500

from django.conf.urls.defaults import *
handler500 = 'path.to.my_custom_500'
或者更好——编写您自己的处理程序并将其放入

编辑

您还可以向
my_custom_500
代码中添加识别异常类型的代码,例如:

import sys; 

def my_custom_500(request):
    ...
    type_, value, traceback = sys.exc_info()
    ...

尝试覆盖
urls.py
中的
django.conf.urls.defaults.handler500

from django.conf.urls.defaults import *
handler500 = 'path.to.my_custom_500'
或者更好——编写您自己的处理程序并将其放入

编辑

您还可以向
my_custom_500
代码中添加识别异常类型的代码,例如:

import sys; 

def my_custom_500(request):
    ...
    type_, value, traceback = sys.exc_info()
    ...

这不是我的问题。我已经做过了。我需要的是访问触发自定义500的错误消息。添加到您的
my_custom_500
功能:
import sys;键入,value,traceback=sys.exc_info()
并检查您所做的。是的,我刚刚在某处找到了完全相同的解决方案。。。把它作为答案贴出来,这样我就可以投票了。这不是我的问题。我已经做过了。我需要的是访问触发自定义500的错误消息。添加到您的
my_custom_500
功能:
import sys;键入,value,traceback=sys.exc_info()
并检查您所做的。是的,我刚刚在某处找到了完全相同的解决方案。。。把它作为答案贴出来,这样我就可以投赞成票了