Ваш base.html
, вероятно, ожидает некоторого контекста, который не передается представлением по умолчанию 500. Из документации :
Представление 500 по умолчанию не передает никаких переменных в шаблон 500. html и отображается с пустым контекстом, чтобы уменьшить вероятность дополнительных ошибок.
В этом случае вы можете:
- создать отдельный, минимальный и предпочтительный автономный шаблон для представления 500
- убедитесь, что ваш
base.html
работает правильно с пустым контекстом или - создает пользовательское представление 500, которое проходит в требуемом контексте
Я думаю, что вариант 1 является предпочтительным вариантом, потому что он гарантирует, что 500 страницу всегда можно отобразить. Обратной стороной является то, что любые изменения в вашем base.html
вам, возможно, придется применить и к вашему шаблону 500.
Вариант 3 наименее предпочтителен, поскольку он несет наибольший риск того, что страница 500 не будет отображаться, например если 500 вызвано тем, что БД недоступна, и ваше пользовательское представление 500 пытается использовать БД.