Я хочу иметь возможность генерировать исключения с любым кодом состояния. У меня есть такая структура шаблона
templates
|---error
| |----401.html
| |----403.html
| |----404.html
| |----451.html
| |----500.html
Есть ли способ вызвать исключение примерно так: raise Error("Not available here!", status_code=451)
, и это автоматически покажет шаблон templates/error/451.html
? И когда возникает ошибка сервера, templates/error/500.html
должен быть обработан.
Я пытался использовать handler401
, handler500
и вызывать пользовательское исключение, но ничего не работает ...
# exceptions.py
class HttpResponseNotAuthenticated(HttpResponse):
status_code = 401
# views.py
def pseudo_view():
return HttpResponseNotAuthenticated("Please login")