ビューの約半分が同じデータセットを必要とする場合、コンテキストプロセッサを使用してデータを常に利用できるようにするのが適切ですか、またはデータをクエリせずに複数のビューでそのデータを取得するためにコードを繰り返さないようにするためのより良い方法があります。ビューでは使用されませんか?
質問する
5330 次
2 に答える
22
イニシャライザはRequestContext
、設定ファイルにリストされているコンテキストプロセッサを実行しますが、実行する追加のプロセッサのリストも必要です。任意の汎用コンテキストプロセッサをsettings.pyに配置できRequestContext
、ケースバイケースでより具体的なものを追加できます。
コンテキストRequestContext
プロセッサを実行しないように、完全に除外します。
# want context processors listed in settings.py as well as some more specific ones
return render_to_response('template.html', {'foo':'bar'}, context_instance=RequestContext(request, processors = extra_processors))
# want only context processors listed in settings.py
return render_to_response('template.html', {'foo':'bar'}, context_instance=RequestContext(request))
# no context processors
return render_to_response('template.html', {'foo':'bar'})
于 2009-05-07T03:16:58.730 に答える
1
コンテキストプロセッサを必要とするビューにのみ渡すことで、実際にコンテキストプロセッサを使用しているビューを除外できますRequestContext(request)
。例:
# want context processors
return render_to_response('template.html', {'foo':'bar'}, context_instance=RequestContext(request))
# no context processors
return render_to_response('template.html', {'foo':'bar'})
于 2009-05-06T20:00:44.537 に答える