2012-12-22 26 views
0

加載不同內容的塊在Django中,如果我有一個網頁,其中假設由以下部分組成:你如何在Django

1)主要內容
2)相關內容
3)新文章
4)廣告塊
5)整個站點的標籤雲

我應該準備這些塊的所有數據的意見,然後把它傳遞到通過上下文模板?如果我這樣做,每次我需要一個頁面上的塊時,我需要在視圖中爲它準備數據。但是如果我想在網站的每個頁面上放置一個新的文章塊呢?這意味着我需要在每個視圖中爲此塊準備數據並將其傳遞給模板,這不是非常乾燥。

我看到的另一個選擇是創建一個模板標籤,它會查詢數據庫並獲取最新的文章,並且只在您需要的每個模板上使用該標籤,但據我所知,這是違反主要指導原則的,應該僅用於顯示目的(這對於在模板標籤中進行db查詢來說是不好的)。

在Django中,您使用/推薦哪種方式顯示塊?

回答

0

你從哪裏讀到你不應該爲此使用模板標籤?相反,這正是你應該使用它們的。例如,Here是一個來自James Bennett的博客文章,Django的早期開發人員之一,正是這樣描述的(請注意,該條目中的語法已過時,但原則仍然有效)。