2010-05-07 42 views
10

在哪種情況下創建模板標籤(並將它們加載到模板中)比創建上下文處理器(自動填充請求)要好?上下文處理器與模板標籤的最佳實踐?

例如我有一個動態菜單必須包含到所有模板中,所以我將它放到了我的base.html中。什麼是首選用法:上下文處理器或自定義模板標記?而爲什麼

回答

12

上下文處理器用於將數據(信息,內容,對象)放入用於呈現頁面的上下文中。

模板標籤用於格式化或處理該內容。

構成新數據的模板標籤令人困惑。不是不可能或錯誤,但很混亂。

+1

不一定在我看來: {%負載advertisementtags%} {%get_top_ads爲我的廣告%} { 在我的廣告%%的廣告} ... {%ENDFOR%} 這與模板標籤的方式。通過一個上下文處理器,我可以將「myad」放入上下文中。這就是爲什麼我要求「最佳實踐」的原因。 也許這只是一個品味問題。 – mawimawi 2010-05-10 19:21:15

+4

@mawimawi:這不是品味的問題。 「廣告標籤」*應該來自上下文處理器 - 它們是內容。從技術上講,任何事情都是可能的,包括真正難以理解的事情。如果內容來自上下文,則更簡單。 – 2010-05-10 22:26:11