6

すべてのテンプレートのビューで使用できるようにする必要がある変数がたくさんあります。最良の選択はコンテキスト プロセッサのようです。

ドキュメントには次のように記載されています。

コンテキスト プロセッサのインターフェイスは非常に単純です。これは、1 つの引数 HttpRequest オブジェクトを受け取り、テンプレート コンテキストに追加される辞書を返す単なる Python 関数です。各コンテキスト プロセッサは辞書を返す必要があります。

より高度なルックアップを行う必要がある場合、他の関数を定義できますか? 関数はクラス内にある必要がありますか? context_processors.pyアプリフォルダーに名前の付いたファイルを作成することを考えていました。

4

1 に答える 1

8

他の関数を定義することができ、関数はクラスにある必要はありません。

通常、人々はコンテキスト プロセッサをcontext_processors.py関数として考えているようなものに入れ、それらをすべてsettings.TEMPLATE_CONTEXT_PROCESSORS.

たとえば、context_processors.py内部にdjango-seoを持つアプリがあります。

于 2013-02-12T20:12:14.587 に答える