Я столкнулся со следующей проблемой контекстного процессора шаблона 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
.
Как сделать так, чтобы мои контекстные процессоры применялись для ВСЕХ запросов?