0

基本テンプレートに次のフッターが含まれています。

{% include "footer.html %}

すべてのページに表示する必要があります。ただし、フッターには、ページが読み込まれるたびにいくつかのクエリで計算する必要があるいくつかの統計があります。私の知る限り、ビューが呼び出されるため、このインクルードはクエリを実行できません。そして、すべてのビューでそのクエリを複製したくありません。それは汚い解決策だと思います。この場合のベストプラクティスは何ですか? よくある問題だと思います。

4

6 に答える 6

2

コンテキスト プロセッサはすべてのテンプレートに標準的なものを含めるのに適していますが、フッター全体をレンダリングするカスタム テンプレート タグの方が適していると思います。おそらく、包含タグが機能します。

于 2012-08-06T08:52:14.167 に答える
1

統計がグローバル (特定のページ/リクエストに関連するものではない) である場合、統計を計算し、対応する変数をコンテキストに追加できるカスタム コンテキスト プロセッサを実装できます。footer.htmlそのコンテキスト変数/辞書は、統計を入れるために使用できます。

カスタム コンテキスト プロセッサの作成を参照してください。

于 2012-08-06T08:46:20.813 に答える
0

コンテキスト プロセッサを使用して、すべてのビューでクエリを実行し、必要なデータでコンテキストを更新できます。

于 2012-08-06T08:46:22.437 に答える
0

Context Processor を作成し、そこからクエリを返すのはどうですか? 結果は、すべてのビューで利用できます。

于 2012-08-06T08:46:30.987 に答える
0

ここで言及されていないもう 1 つのオプションは、カスタム テンプレート タグです。正確に何をしたいかによっては、コンテキスト プロセッサはやり過ぎかもしれません。

于 2012-08-06T08:52:04.133 に答える
0

これを解決するには、コンテキスト プロセッサを作成する必要があります。

コンテキスト プロセッサの作成

于 2012-08-06T08:48:56.913 に答える