Django 如何在 handler404 中发送参数?
Django how to send a argument in handler404?
如何覆盖 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,并且希望避免为每个错误创建一个函数。
The question was translated, and I would be grateful for corrections, original
我认为您不需要自定义 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。
如何覆盖 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,并且希望避免为每个错误创建一个函数。
The question was translated, and I would be grateful for corrections, original
我认为您不需要自定义 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。