私のビューの束には、(context_instance と共に) 毎回渡していた辞書の値がたくさんあったので、ショートカットを作成しようとしました:
def render_with_context(request, *args, **kwargs):
kwargs['context_instance'] = RequestContext(request)
kwargs['dict']['dare_count'] = Dare.objects.all().count()
kwargs['dict']['proof_count'] = Proof.objects.all().count()
kwargs['dict']['user_count'] = User.objects.all().count()
return render_to_response(*args, **kwargs)
ただし、django はテンプレートで名前付き辞書を受け入れないため、機能しません。匿名の {} 辞書のみが必要です。これを修正するにはどうすればよいですか、値から名前を削除するにはどうすればよいですか?
ありがとう
EDIT FIXED:(ハンの**辞書のアンパックの提案を使用)
注目すべき変更点: ['dict'] はなくなりました。context_instance を引数として渡すだけで、辞書はアンパックされません。
def render_with_context(request, args, kwargs):
kwargs['dare_count'] = Dare.objects.all().count()
kwargs['proof_count'] = Proof.objects.all().count()
kwargs['user_count'] = User.objects.all().count()
return render_to_response(args, kwargs, context_instance = RequestContext(request))