如何在Django模板中检查DEBUG状态 - 精确在layout.html中

49 投票
1 回答
23470 浏览
提问于 2025-04-21 01:35

我想根据DEBUG是否为True来区分一下layout.html中某个工具栏的外观。

我知道有一个答案提到可以用django.core.context_processors.debug,但这让我必须使用RequestContext,而我其实不太喜欢这样。顺便问一下,我该怎么在扩展base.htmllayout.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标志? 的回答有点过时了。

撰写回答