В зависимости от версии Django, которую они используют, представления получают друг друга. В официальной документации вы можете ознакомиться с уменьшенными параметрами.
Это будет выглядеть так для Django> 2.0:
def handler404(request, exception, template_name="404.html"):
response = render_to_response(template_name)
response.status_code = 404
return response
def handler500(request, *args, **argv):
return render(request, '500.html', status=500)
Возможное более простое решение Если вы не намерены изменять контекст представления, это напрямую создавать соответствующие шаблоны. По умолчанию они используют эти шаблоны, если могут их найти, соответственно: 404.html
, 500.html
, 403.html
и 400.html
.
И вы должны поместить их в каталог шаблонов, как вы можете см. ниже.
mysite/
mysite/
__init__.py
settings.py
...
polls/
urls.py
view.py
...
templates/
404.html
500.html
manage.py
Кроме того, этот вопрос дублируется .