Система шаблонов Django ищет silent_variable_failure
как атрибут любого исключения.
Это означает, что вы должны определить собственное исключение с этим атрибутом, установленным в False
.
Для стандартного ObjectDoesNotExist
исключения, сгенерированного ORM и т. Д., Простейшим решением было бы изменение исходного кода Django в вашей коробке разработки (django / core / exceptions.py).
Если бы это было то, что вам нужно было изменить в производственной системе, то вам нужно было бы: 1) определить свой собственный класс исключений, 2) установить менеджера в вашей модели, который вызывается из шаблона (вместо непосредственного использования методов ORM) , а затем 3) перехватите DoesNotExist в вашем менеджере и повторно вызовите исключение с вашим собственным классом.