Django应用程序工作正常,但获取TEMPLATE_ *警告消息

时间:2015-09-07 20:57:46

标签: python django django-1.8

当我使用runserver时,会发出以下警告消息:

  

(1_8.W001)不推荐使用独立的TEMPLATE_ *设置   Django 1.8和TEMPLATES字典优先。你必须把   将以下设置的值放入默认的TEMPLATES dict中:   TEMPLATE_DEBUG。

Django文档:

  

" TEMPLATE_DEBUG从1.8版开始不推荐:设置' debug'选项   而是在DjangoTemplates后端的OPTIONS中。"

这是我的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
        },
    }, ]

我在这里缺少什么?

5 个答案:

答案 0 :(得分:77)

debug模板设置词典中设置OPTIONS

DEBUG = True

TEMPLATES = [
    {
        ...
        'OPTIONS': {
            'debug': DEBUG,
        },
    },
]

然后从您的设置中删除此行以停止警告

TEMPLATE_DEBUG = DEBUG

有关如何更新模板设置的详细说明,请参阅Django docs

答案 1 :(得分:15)

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

答案 2 :(得分:14)

settings.py 删除所有这些:

    TEMPLATE_DIRS = (
        os.path.join(BASE_DIR,  'templates'),
    )

然后在此处添加'模板'

    TEMPLATES = [
    {
        ...
        'DIRS': [here],
        ...
            ],
        },
    },
]

答案 3 :(得分:7)

这是最好的解决方案:

将此行更改为:

TEMPLATES[0]['OPTIONS']['debug'] = True

应该修正警告。

我找到了here

答案 4 :(得分:1)

在我setting.py的{​​{1}}中,没有此脚本:

django

TEMPLATE_DEBUG = DEBUG

也许您可以尝试删除它们并再次运行它。