Django自定义500错误模板未显示request.user

Django自定义500错误模板未显示request.user,django,django-templates,django-allauth,django-1.6,django-errors,Django,Django Templates,Django Allauth,Django 1.6,Django Errors,我正在实现自定义的404和500模板,但是虽然404.html模板似乎返回request.user.is_身份验证良好,但500.html模板无法返回任何内容。我还检查了request.user,它在500页上是空白的 这是非常奇怪的,因为当我触发500错误时,我收到了预期的错误报告电子邮件,并且在请求细分中明确地定义了用户。下面是我在views.py中使用的代码: def handler404(request): response = render_to_response('404.h

我正在实现自定义的404和500模板,但是虽然404.html模板似乎返回request.user.is_身份验证良好,但500.html模板无法返回任何内容。我还检查了request.user,它在500页上是空白的

这是非常奇怪的,因为当我触发500错误时,我收到了预期的错误报告电子邮件,并且在请求细分中明确地定义了用户。下面是我在views.py中使用的代码:

def handler404(request):
    response = render_to_response('404.html', {},
                                  context_instance=RequestContext(request))
    response.status_code = 404
    return response


def handler500(request):
    response = render_to_response('500.html', {},
                                  context_instance=RequestContext(request))
    response.status_code = 500
    return response
我想知道背景中是否有什么东西(可能在RequestContext中)对待500和404不同?我应该提到的是,我也在使用django guardian,尽管我认为这不会对本案产生任何影响。有什么想法吗

编辑:声称“500模板不会呈现request.user,因为它报告了500服务器错误,因此服务器无法提供任何内容。”有人知道解决方法吗?似乎应该有一个,因为正如我所说的,我在错误报告电子邮件中收到的日志显然包含带有用户名的请求对象


编辑2:现在我想知道这是否与django allauth有关——我也在使用它。

我想出来了!我必须在URL.py中添加以下行:

handler500 = "mysite.views.handler500"

非常奇怪,404在没有等效行的情况下工作得很好,但500的行为真的很奇怪。

尝试在handler500函数的上下文变量字典中手动传递
'user':request.user
。@souldex很遗憾,它不起作用。我真正需要做的是正确地传递整个请求对象。我尝试的东西似乎都不管用。。。这就像请求在某个时候被删除一样。