什么是Django的TEMPLATE_DEBUG设置?

时间:2014-08-12 22:39:38

标签: django debugging django-templates

我一直在尝试查找有关此设置的信息,但并不是很多。有人可以解释一下这个设置是什么吗?我应该在生产中把它关掉吗?...只是想了解它,也许我在django中遗漏了一些重要的东西。

(我使用django 1.6)

1 个答案:

答案 0 :(得分:20)

此设置有助于调试渲染模板时引发的错误/异常。

如果设置为TrueDEBUGTrue,则Django会向您显示通常的"幻想"带有追溯,请求详细信息和其他重要信息的错误页面,突出显示错误发生在哪一行

如果设置为FalseDEBUGTrue且呈现模板时出错,您仍会看到Django的错误页面,但它会错过包含发生错误的模板代码的块。因此调试起来会更困难。

最好确保TEMPLATE_DEBUG的值与DEBUG相同(但如果DEBUGFalse,则不会显示错误页面):

DEBUG = TEMPLATE_DEBUG = True   # development
DEBUG = TEMPLATE_DEBUG = False  # production

Documentation reference


实施例。

想象一下,我们在模板中有错误,忘了在now模板标记中提供日期格式:

<div>
    <span class="date">
        {% now %}
    </span>
</div>

DEBUG设置为True

如果TEMPLATE_DEBUG=True,Django的花哨错误页面将包含以下块:

enter image description here

如果TEMPLATE_DEBUG=False,此块将不可见。

希望有所帮助。