Search code examples
pythondjangodjango-1.8

Django app works fine, but getting a TEMPLATE_* warning message


When I use runserver, it gives this warning message:

(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.

Quoth the Django Documentation:

"TEMPLATE_DEBUG Deprecated since version 1.8: Set the 'debug' option in the OPTIONS of a DjangoTemplates backend instead."

Here is my settings.py with my futile attempts to fix it:

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

What am I missing here?


Solution

  • Set debug in OPTIONS dictionary of your templates settings.

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

    Then remove this line from your settings to stop the warnings

    TEMPLATE_DEBUG = DEBUG
    

    See the Django docs for detailed instructions how to update your template settings.