base.html
は、他のすべてのページの基本テンプレートとして使用されます。 base.html
にはナビゲーションバーがあり、ナビゲーションバーにはユーザーが受信したメッセージの数が表示されます。したがって、base.html
に{{number_of_messages}}
のような変数が必要です。base.htmlのDjango変数
ただし、この変数をどのように渡す必要がありますか?すべてのテンプレートはbase.html
に拡張され、関数によってレンダリングされます。私はすべての機能でnumber_of_messages
を返すのが良い方法だとは思わない。これを実装するより良い方法はありますか?どのようにしてこの変数をすべてのテンプレートに渡すことができますか?
あなたはdjangoテンプレートコンテキストプロセッサを見てきましたか?おそらく最短の答えは、独自のコンテキストプロセッサを作成し、それを設定ファイルの 'TEMPLATE_CONTEXT_PROCESSORS'に入れることです。代わりに私のコメントを答えにしますか? REF:https://docs.djangoproject.com/en/dev/ref/templates/api/#subclassing-context-requestcontext – Yeo
こんにちは、私はそれを見ていません。インクルージョンタグを使用してインクルージョンタグをbase.htmlに入れることで、この目標を達成することは可能ですか? –
私は主な質問に基づいて、テンプレート内の変数を 'context'と呼びます。 'include'タグは、さまざまなことを行いますが、 '{include%name"} person = "Jane" greeting = "Hello"%} 'のようなインクルードテンプレート内でコンテキストを渡すことはもちろん可能です。しかし、あなたはまだどこかの文脈が必要です... https://docs.djangoproject.com/en/dev/ref/templates/builtins/#include – Yeo