2014-09-11 47 views
23

我想区分layout.html中某个工具栏的外观,具体取决于DEBUG = True还是不是。如何在django模板中检查DEBUG true/false - 完全在layout.html

我知道使用django.core.context_processors.debuganswer但它迫使我使用RequestContext代替Request我不是很喜欢,顺便说一句我该如何使用RequestContext的为layout.html延伸base.html

而且通常有一些更好的方法比提到一个或the one using custom template tag

我目前的Django 1.7

+0

这实际上是一样的问题,因为http://stackoverflow.com/questions/1271631/how-to-check-the-template-debug-flag-in-a-django-template/1271914,答案应该可能是在那个线程中。 (这个问题的答案基本上与其他线程中接受的答案一样)。 – mipadi 2015-09-24 15:18:38

回答

40

在Django中的较新版本有可能只是通过设置specifyng INTERNAL_IPS

例如:

INTERNAL_IPS = (
    '127.0.0.1', 
    '192.168.1.23', 
) 

,然后在模板只是:

{% if debug %} 

因为负责在默认情况下context处理器,并且从How to check the TEMPLATE_DEBUG flag in a django template?的答案有点过时。

+1

JFTR,它也可以在Django 1.8中使用 – marcanuy 2015-09-22 21:52:46

+1

它也可以在Django 1.9中使用 – DmitrySemenov 2016-02-24 03:01:11

+1

也适用于Django 1.10 – javidazac 2017-10-02 11:29:34