我正在实现自定义 404 和 500 模板,但是虽然 404.html 模板似乎返回 request.user.is_authenticated 很好,但 500.html 模板无法返回任何内容。我还检查了 request.user ,它在 500 页面上只是空白。
这很奇怪,因为当我触发 500 错误时,我收到了预期的错误报告电子邮件,并且它清楚地在请求细分中正确定义了 USER。这是我在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有关——我也在使用它。