Ho как заменить страницу ошибок по умолчанию в Django?

У меня есть приложение Django и в главном urls.py у меня есть

handler500 = 'common.view_utils.custom_500'

, который должен отображать мою пользовательскую страницу ошибок. Код custom_500 выглядит следующим образом

def custom_500(request):
    logger.error(sys.exc_info())
    t = loader.get_template('500.html')
    type, value, tb = sys.exc_info()
    return HttpResponseServerError(t.render(request, {
        'exception_value': value,
        'value': type,
        'traceback': traceback.format_exception(type, value, tb)
    }))

Однако когда я попытался протестировать его и поднял Error из класса представления, Django отобразил стандартную Произошла ошибка сервера. Пожалуйста, свяжитесь с администратором. Страница ошибки.

Я думал, что если в коде появляется Error, то это должно быть 500 ошибкой, которая будет обработана, но я, очевидно, ошибаюсь.

Помогите, пожалуйста, что я упускаю?

Спасибо,
V.

++++++ UPDATE1 +++++++
. Извините, я забыл упомянуть, что я пробовал с DEBUG = False

Вам необходимо добавить в ваш основной urls.py все представления, которые будут вызываться при возникновении ошибки:

handler404 = 'APP_NAME.views.custom_page_not_found_view'
handler500 = 'APP_NAME.views.custom_error_view'
handler403 = 'APP_NAME.views.custom_permission_denied_view'
handler400 = 'APP_NAME.views.custom_bad_request_view'

Более того, вы можете отрисовать страницу, но вы должны установить правильный статус отрисовки, например:

return render(request,'YOUR-PAGE.html',status=404)
Вернуться на верх