【发布时间】:2011-07-11 16:26:44
【问题描述】:
我遇到了以下 Django 模板上下文处理器问题。
上下文处理器在myapp/context_processors.py中定义:
def my_context_processor(request):
return {
'foo': 123,
}
它与标准 Django 上下文处理器一起在 settings.py 中连接:
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 时。
如何使我的上下文处理器适用于所有请求?
【问题讨论】: