I am updating the project to Django 1.10 and it has the following code:
from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP TEMPLATE_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 processors are context sensitive.
In Django 1.10, TEMPLATE_CONTEXT_PROCESSORS
was removed in favor of the TEMPLATES
parameter, which should now be defined something like this:
TEMPLATES = [ { ..., 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', ... ], }, }, ]
How should the TEMPLATES
parameter be defined in order to correctly correspond to the behavior of the first code example, i.e. to always enable standard context processors? Should I just manually include everything that was in django.conf.global_settings
before? Are there any default values ββin Django 1.10? Are there any new context processors that should probably be enabled by default?
source share