如何覆盖handler404
以将参数传递到视图中?
我需要传递参数text
和error
# views.py
def handler404(request, error, text):
response = render_to_response('error/40X.html', {'error': error, 'text':text})
response.status_code = error
return response
urls.py中的404处理程序代码是:
handler404 = 'app.views.handler404'
我正在使用Django v1.10和Python v3.5,并且希望避免为每个错误创建一个函数。
问题已翻译,我将非常感谢更正,original
答案 0 :(得分:1)
我认为您不需要在此处查看自定义handler404
视图。 Django的page_not_found
视图可以满足您的需求。
在Django 1.9+中,您可以在404模板中包含{{ exception }}
。
在您的视图中,您可以在引发异常时设置消息,例如:
from django.http import Http404
def my_view(request):
raise Http404('custom error message')
在处理程序中设置response.status_code
是没有意义的 - 如果它是handler404,那么状态代码应该始终为404.