Что такое настройка Django TEMPLATE_DEBUG?

Я пытаюсь найти информацию об этой настройке, но ее немного. Может кто-нибудь объяснить мне, что это за настройка? Должен ли я отключить его в производстве?... Просто хочу узнать об этом, может быть, мне не хватает чего-то важного в джанго.

(я использую django 1.6)

Ответ 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 будет содержать следующий блок:

enter image description here

Если TEMPLATE_DEBUG=False, этот блок не будет виден.

Надеюсь, что это поможет.