在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模板传递相同的数据,因此我认为它也可以灵活应用。