如何在django模板中检查DEBUG是/否 - 完全在layout.html中

and*_*abs 34 python django django-templates django-settings

我想layout.html根据DEBUG = True 来区分某个工具栏的外观.

我知道这个答案使用,django.core.context_processors.debug但它迫使我使用RequestContext而不是Request我不喜欢的,顺便说一下我如何使用RequestContext layout.html扩展base.html

通常有一些更好的方法比使用自定义模板标签提到一个或一个

我目前在Django 1.7上

and*_*abs 58

在较新版本的Django中,只需INTERNAL_IPS在设置中指定即可.

例如:

INTERNAL_IPS = (
    '127.0.0.1',
    '192.168.1.23',
)
Run Code Online (Sandbox Code Playgroud)

然后在模板中:

{% if debug %}
Run Code Online (Sandbox Code Playgroud)

因为上下文处理器默认负责,以及如何检查django模板中的TEMPLATE_DEBUG标志的答案有点弃用了.

  • JFTR,它也适用于Django 1.8 (2认同)
  • 它也适用于Django 1.9 (2认同)
  • 也适用于Django 1.10 (2认同)
  • 2.2.2 确认 (2认同)