Я шаг за шагом следовал документации и искал решение везде, но мой пользовательский handler500
не будет работать. Я использую Django 2.2 с Python 3.8.
Вот мой urls.py:
urlpatterns = [
# some urls
]
handler500 = "path.to.my.handler"
мой обработчик:
def handler500(request, exception=None, *_, **_k):
print("yeah I got called")
return render(request, "my_template.html", {
"exception": exception
})
мой взгляд:
def example_view(request):
# I tried all of these
return HttpResponseServerError()
return HttpResponse(status=500)
raise Exception("There was an error") # This just shows: "A server error occurred. Please contact the administrator." in the browser.
raise HttpResponseServerError() # This shows the same message as above.
a_typo # This typo also shows the same message as above.
Почему ЛЮБОЙ из этих ошибок не показывает мой шаблон? Обработчик не был выполнен в любое время. Функция print()
так и не была вызвана.
EDIT Я установил обработчик 404 и протестировал его, он работал отлично. Почему не 500?