Ответ 1
Этот параметр помогает при отладке ошибок/исключений, возникающих при визуализации шаблонов.
Если для него установлено значение True
и DEBUG
- True
, Django покажет вам обычную страницу с "причудливыми" ошибками с трассировкой, информацией о запросе и другой важной информацией, а выделит, на какой строке произошла ошибка.
Если он установлен в False
и DEBUG
равен True
, и при визуализации шаблона произошла ошибка, вы все равно увидите страницу с ошибкой Django, но она пропустит блок, содержащий код шаблона, где ошибка произошло. Поэтому было бы сложнее отладить.
Хорошая практика - убедиться, что значение TEMPLATE_DEBUG
совпадает с DEBUG
(хотя если DEBUG
есть False
, страница с ошибкой не будет отображаться):
DEBUG = TEMPLATE_DEBUG = True # development
DEBUG = TEMPLATE_DEBUG = False # production
Пример.
Представьте, что у нас есть ошибка в шаблоне, забыли указать формат даты в теге now
:
<div>
<span class="date">
{% now %}
</span>
</div>
DEBUG
установлено значение True
.
В случае TEMPLATE_DEBUG=True
страница причудливой ошибки Django будет содержать следующий блок:
Если TEMPLATE_DEBUG=False
, этот блок не будет виден.
Надеюсь, что это поможет.