I'm upgrading a project to Django 1.10 and it has code like the following:
from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCPTEMPLATE_CONTEXT_PROCESSORS = TCP + ('django.template.context_processors.debug','django.template.context_processors.i18n','django.template.context_processors.media','django.template.context_processors.static','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages','django.template.context_processors.request',
)
As far as I can tell this was a common pattern when using previous versions of Django to ensure that the default context processors.
In Django 1.10 TEMPLATE_CONTEXT_PROCESSORS
was removed in favour of the TEMPLATES
setting which should now be defined something like this:
TEMPLATES = [{...,'OPTIONS': {'context_processors': ['django.template.context_processors.debug',...],},},
]
How should the TEMPLATES
setting be defined to properly match the behaviour of the first code sample, i.e. ensuring that the default context processors are always included? Should I just manually include whatever was in django.conf.global_settings
before? Does Django 1.10 have defaults defined anywhere? Are there any new context processors which should probably be included by default?