Django 应用程序工作正常,但收到 TEMPLATE_* 警告消息
Django app works fine, but getting a TEMPLATE_* warning message
当我使用 runserver 时,它给出了这个警告消息:
(1_8.W001) The standalone TEMPLATE_* settings were deprecated in
Django 1.8 and the TEMPLATES dictionary takes precedence. You must put
the values of the following settings into your default TEMPLATES dict:
TEMPLATE_DEBUG.
引用 Django 文档:
"TEMPLATE_DEBUG Deprecated since version 1.8: Set the 'debug' option
in the OPTIONS of a DjangoTemplates backend instead."
这是我的 settings.py 我徒劳地尝试修复它:
DEBUG = True
TEMPLATE_DEBUG = DEBUG
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'myapp/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',
],
'debug': DEBUG,
'DEBUG': DEBUG,
'TEMPLATE_DEBUG': DEBUG
},
}, ]
我在这里错过了什么?
在模板设置的 OPTIONS
字典中设置 debug
。
DEBUG = True
TEMPLATES = [
{
...
'OPTIONS': {
'debug': DEBUG,
},
},
]
然后从您的设置中删除这一行以停止警告
TEMPLATE_DEBUG = DEBUG
有关如何更新模板设置的详细说明,请参阅 Django docs。
在我的setting.py
中django
,没有这个脚本:
TEMPLATE_DEBUG = DEBUG
和
'debug': DEBUG,
'DEBUG': DEBUG,
'TEMPLATE_DEBUG': DEBUG
或许您可以尝试删除它们,然后再 运行 。
这是最佳解决方案:
将此行更改为:
TEMPLATES[0]['OPTIONS']['debug'] = True
应该修复警告。
找到了here。
来自 settings.py 删除所有这些:
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'),
)
然后在此处添加'templates':
TEMPLATES = [
{
...
'DIRS': [here],
...
],
},
},
]
删除 APP_DIRS 并在模板中添加加载器。
示例:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'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',
],
'loaders': [
'django_jinja.loaders.AppLoader',
'django_jinja.loaders.FileSystemLoader',
]
},
},
]
当我使用 runserver 时,它给出了这个警告消息:
(1_8.W001) The standalone TEMPLATE_* settings were deprecated in Django 1.8 and the TEMPLATES dictionary takes precedence. You must put the values of the following settings into your default TEMPLATES dict: TEMPLATE_DEBUG.
引用 Django 文档:
"TEMPLATE_DEBUG Deprecated since version 1.8: Set the 'debug' option in the OPTIONS of a DjangoTemplates backend instead."
这是我的 settings.py 我徒劳地尝试修复它:
DEBUG = True
TEMPLATE_DEBUG = DEBUG
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'myapp/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',
],
'debug': DEBUG,
'DEBUG': DEBUG,
'TEMPLATE_DEBUG': DEBUG
},
}, ]
我在这里错过了什么?
在模板设置的 OPTIONS
字典中设置 debug
。
DEBUG = True
TEMPLATES = [
{
...
'OPTIONS': {
'debug': DEBUG,
},
},
]
然后从您的设置中删除这一行以停止警告
TEMPLATE_DEBUG = DEBUG
有关如何更新模板设置的详细说明,请参阅 Django docs。
在我的setting.py
中django
,没有这个脚本:
TEMPLATE_DEBUG = DEBUG
和
'debug': DEBUG,
'DEBUG': DEBUG,
'TEMPLATE_DEBUG': DEBUG
或许您可以尝试删除它们,然后再 运行 。
这是最佳解决方案:
将此行更改为:
TEMPLATES[0]['OPTIONS']['debug'] = True
应该修复警告。
找到了here。
来自 settings.py 删除所有这些:
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'),
)
然后在此处添加'templates':
TEMPLATES = [
{
...
'DIRS': [here],
...
],
},
},
]
删除 APP_DIRS 并在模板中添加加载器。 示例:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'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',
],
'loaders': [
'django_jinja.loaders.AppLoader',
'django_jinja.loaders.FileSystemLoader',
]
},
},
]