【发布时间】:2013-08-20 16:38:19
【问题描述】:
我创建了一个上下文处理器,以便将一个变量传递给我的所有模板。
我的 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',
'myapp.context_processors.setting_processor',
)
在单个视图中我通过:
request_context = RequestContext(request,
processors=[setting_processor])
return render(request, 'settings.html', context, context_instance=request_context)
我还安装了我的处理器,它会在我网站的每个视图中触发。我以为只有当我从视图传入请求上下文时才会被击中?
这是在我访问的每个视图中打印的代码:
def setting_processor(request):
print '--------------- in content processor'
如何让它只在某些视图中触发上下文处理器?
【问题讨论】:
-
不使用 context_processor?
标签: django django-templates django-views django-context