2012-08-06 76 views
0

我包括在我的基礎模板與頁腳:動態包括與查詢

{% include "footer.html %} 

我需要證明它在每一個頁面。但是頁腳每次頁面加載時都需要使用多個查詢來計算多個靜態頁面。 據我所知,這包括無法運行查詢,因爲任何視圖被調用。我不想在所有視圖中複製查詢,我認爲這是一個骯髒的解決方案。 這種情況下的最佳做法是什麼?我認爲這是一個很常見的問題。

回答

1

如果統計信息是全局的(與特定頁面/請求不相關),則可以實現自定義上下文處理器,該處理器可以計算統計信息並在上下文中添加相應的變量。 footer.html可以使用該上下文變量/字典來進行統計。

參考Writing custom context processor

+0

uhm,但它們不適用於render_to_response – tapioco123 2012-08-06 14:56:42

0

您可以使用context processors在所有視圖運行查詢,並提供必要的數據更新您的上下文。

0

如何創建上下文處理器,並從那裏返回查詢? 如果這是您的願望,結果將在每個視圖中都可用?

0

另一種選擇此處不再贅述至今都custom template tags。取決於你想要做什麼,上下文處理器可能是矯枉過正的。

2

儘管上下文處理器很適合在每個模板中包含標準的東西,但我懷疑您的目的是一個custom template tag,這表示整個頁腳會是一個更好的選擇 - 可能是一個包含標籤可以完成這項工作。