我一直在尝试查找有关此设置的信息,但并不是很多。有人可以解释一下这个设置是什么吗?我应该在生产中把它关掉吗?...只是想了解它,也许我在django中遗漏了一些重要的东西。
(我使用django 1.6)
答案 0 :(得分:20)
此设置有助于调试渲染模板时引发的错误/异常。
如果设置为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
,此块将不可见。
希望有所帮助。