Я столкнулся со следующей проблемой процессора контекста шаблона Django.
Контекстный процессор определен в myapp/context_processors.py
:
def my_context_processor(request):
return {
'foo': 123,
}
Он подключен в settings.py вместе со стандартными контекстными процессорами Django:
TEMPLATE_CONTEXT_PROCESSORS = (
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.debug',
'django.core.context_processors.i18n',
'django.core.context_processors.media',
'myproject.myapp.context_processors.my_context_processor',
)
Проблема, с которой я сталкиваюсь, заключается в том, что my_context_processor применяется не для всех запросов.
Это не применяется для следующего кода:
def index(request):
return render_to_response("index.html", locals())
Однако применяется для следующего кода:
def index(request):
return render_to_response("index.html", locals(), context_instance=RequestContext(request))
У меня сложилось впечатление, что контекстные процессоры применяются ко ВСЕМ запросам, а не только когда предоставляется context_instance
.
Как заставить мои контекстные процессоры применяться ко ВСЕМ запросам?