すべてのテンプレートに変数が渡されるように、コンテキスト プロセッサを作成しました。
私の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'
特定のビューでのみコンテキスト プロセッサをトリガーするにはどうすればよいですか?