在Django的模板中判断调试模式是开启还是关闭

创建一个程序来进行调试判断

在应用程序目录下,创建custom_context.py文件。

from django.conf import settings

# HTMLテンプレートでデバッグ判断させられるようにする
def is_debug(request):
    return {"DEBUG": settings.DEBUG}

增加設定

编辑settings.py文件的模板设置部分位于配置目录中。

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            BASE_DIR / 'templates'
        ],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'base.custom_context.is_debug',    # app/custom_context.py
            ],
        },
    },
]

用法

我们现在可以通过将settings.py中的DEBUG值传递到HTML模板中来判断模板文件是否处于调试模式。

{% if DEBUG %}
<!-- This is template_name.html -->
{% endif %}

可以显示跨给定模板的值,或者显示已登录的用户名。根据不同的应用,可以灵活使用。

custom_context.py可以向所有HTML模板传递相同的数据,因此我认为它也可以灵活应用。

广告
将在 10 秒后关闭
bannerAds