私のビューの約半分が同じデータセットを必要とする場合は、コンテキストプロセッサを使用してデータを常に利用できるようにするのが適切か、そのデータを取得するためにコードを繰り返さないでください。データがビューで使用されない場合は?Djangoコンテキストプロセッサはいつ適切に使用できますか?
答えて
、それ実行する追加のプロセッサのリストも取得します。任意の汎用コンテキストプロセッサを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'})
あなたは例えば、実際にはそれだけを必要とするものにRequestContext(request)
を渡すことによって、コンテキストプロセッサを使用したビューフィルタアウトすることができます:RequestContext
初期化子は、設定ファイルに記載されている任意のコンテキストプロセッサを実行します
# 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'})
私は、この特定の状況のために働くだろうと思うが、ここでは大きな考えるしようとしている:私はその時点で、ランダムにビューによって必要とされた3つのまたは4コンテキストプロセッサ機能を持っていた場合、私はちょうどそれらをインポートすべきかとそれらを必要とするビューで呼び出すことができますか?コンテキストプロセッサは、まったく、まったく同じものなのですから。 – rennat
右、settings.pyのコンテキストプロセッサは、RequestContextのすべてまたはなしです。より柔軟な方法は、あなたが望むプロセッサのセットごとにRequestContextをサブクラス化してそこにコンテキストプロセッサを設定することです。サイドバーコンテキストとコメントコンテキストを持たせることができます。これはコンテキストプロセッサをsettings.pyから取得しますそれらのアプリをより具体的にすることができます。これは、コンテキストプロセッサを使用するアプリがたくさんある場合に適しています。それでは、チェーンを張る良い方法が必要なだけです... – tghw
- 1. デコレータをコンテキストプロセッサに適用する
- 2. IoCを適切に使用するのはいつですか?
- 3. コンテキストプロセッサとdjangoのミドルウェア
- 4. Turbogears2:djangoコンテキストプロセッサのアナログ
- 5. couchDBの使用はいつ適切ですか?
- 6. イオンペインの使用はいつ適切ですか?
- 7. TrieMapの使用はいつ適切ですか?
- 8. Android:いつFragmentTransaction.removeを使用するのが適切ですか?
- 9. 工場はいつ適切ですか?
- 10. ジェネリックスと継承を適切に使用するのはいつですか?
- 11. Javaでジェネリッククラスを使用する適切な時期はいつですか?
- 12. ユーザー許可を確認するDjangoコンテキストプロセッサ
- 13. django-tinymceがウィジェットを適切に表示できない
- 14. 同期型Ajaxを使用するのはいつ適切ですか?
- 15. アプリケーションサーバーを使用する適切な時期はいつですか?
- 16. 「new」キーワードを使用する適切な時期はいつですか?
- 17. ブランク最終変数を使用するのはいつ適切ですか?
- 18. マスター定理はいつ実際に適用できますか?
- 19. RuntimeExceptionを適切に使用していますか?
- 20. ParallelOptions、TaskCreationOptions、Task.Factory.StartNewを適切に使用していますか?
- 21. TileWindows関数が適切に使用できません。
- 22. django-tables2を使用しているときににテンプレートタグを適用できますか?
- 23. データセットとデータセットの適切な使用についての混乱
- 24. DAOの適切な使用について
- 25. django - media_rootまたはstatic_rootをいつ使うべきですか?
- 26. サーバに使用する適切なユーザエージェントは何ですか?
- 27. ASP.NETでMasterPagesを使用するときにJQueryを使用する適切な方法はありますか?
- 28. XCode 4.5で新しい「コンテナビュー」を適切に使用していますか?
- 29. WebClientまたはhttpwebrequestよりもWCFを使用するのが適切なのはいつですか?
- 30. CodeIgniterのHMVCは、get_instanceを使用することはできないが、適切
これは私にとってより良い答えのようです – Rasiel
本当に余分なプロセッサビットがあったので、私はそれを切り替えました。 – rennat