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.pydjango,没有这个脚本:

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',
            ]
        },
    },
]