如何在Django模板中检查DEBUG状态 - 精确在layout.html中
我想根据DEBUG是否为True来区分一下layout.html
中某个工具栏的外观。
我知道有一个答案提到可以用django.core.context_processors.debug
,但这让我必须使用RequestContext
,而我其实不太喜欢这样。顺便问一下,我该怎么在扩展base.html
的layout.html
中使用RequestContext呢?
总的来说,除了提到的那种方法,或者使用自定义模板标签的方法,有没有更好的办法呢?
我现在用的是Django 1.7。
1 个回答
85
在较新版本的Django中,你只需要在设置里指定 INTERNAL_IPS
就可以了。
比如说:
INTERNAL_IPS = (
'127.0.0.1',
'192.168.1.23',
)
然后在模板中只需要这样写:
{% if debug %}
因为上下文处理器默认负责这个功能,而关于 如何在Django模板中检查TEMPLATE_DEBUG标志? 的回答有点过时了。