Django のコンテキストとは何ですか? 質問する

Django のコンテキストとは何ですか? 質問する

コンテキストとコンテキスト プロセッサの概念を理解しようとしています。

  • コンテキストとは何ですか? また、なぜそれを使用するのですか?
  • コンテキストは、テンプレートで使用するために使用できる必要のある値ですか?
  • コンテキストとコンテキスト プロセッサは同じですか?

ベストアンサー1

{{ myvar1 }}Django テンプレートを使用すると、最適化のため、テンプレートは一度だけコンパイルされ、将来の使用のために保存されます。テンプレートには、やのように、変数名を二重中括弧で囲むことができます{{ myvar2 }}

コンテクスト変数名をそしてその価値観として価値したがって、上記のテンプレートのコンテキストが次のようになっている場合{myvar1: 101, myvar2: 102}、このコンテキストをテンプレートのレンダリングメソッドに渡すと、テンプレート内では が に、が に{{ myvar1 }}置き換えられます。これは単純な例ですが、実際にはコンテキストオブジェクトは101{{ myvar2 }}102コンテクストテンプレートがレンダリングされる場所です。

ContextProcessor については、これは少し高度な概念です。settings.pyファイル内に、オブジェクトを受け取ってHttpRequest辞書 (上記の Context オブジェクトに類似) を返す Context Processor をいくつかリストすることができます。Context Processor によって返される辞書 (コンテキスト) は、Django によって、ユーザーから渡されたコンテキストにマージされます。

コンテキスト プロセッサの使用例としては、テンプレート内に特定の変数を常に挿入したい場合が挙げられます (たとえば、ユーザーの場所が候補になる場合があります)。各ビューに挿入するコードを記述する代わりに、コンテキスト プロセッサを記述して、 の設定に追加するだけTEMPLATE_CONTEXT_PROCESSORSですsettings.py

これが意味を成すといいのですが。クラスを受講していただきありがとうございます。

おすすめ記事