這是一個最佳實踐問題,考慮到我很累,它可能沒有多大意義。django:通用視圖+自定義模板標籤或自定義視圖+通用/正常模板標籤
我一直在編寫一個博客應用程序作爲學習經驗,並作爲我正在開發的網站的實際部分。
我設計它最喜歡的應用程序,讓您可以通過多種標準列出的博客文章,即
/blog/categories/
/blog/authors/
/blog/tags/
/blog/popular/
etc.
在每一頁上面我也想列出多少項目是該標準的一部分
即,對於「類別」,我希望/ blog/categories /列出所有不同的類別,但也要提及該類別中有多少篇博文,並且可能會列出這些條目。
Django似乎給你很多方法來做到這一點,但沒有太多跡象表明什麼是最好的靈活性,可重用性和安全性。
我注意到,您可以
答:使用通用/很輕的觀點,通過一個查詢集的模板,使用自定義的模板標籤收集任何剩餘的必要信息。
即傳遞包含的類別的查詢集,併爲每個類別使用模板標籤抓取的條目該類別
或B:使用自定義/重視圖,通過一個或多個查詢集+額外必要的信息該視圖,並使用較少的模板標籤來獲取信息。
即傳遞包含類別+其條目的字典列表。
我看到的方式是,在HTTP請求中需要查看視圖,收集所需的所需的信息(特定於所請求的內容)並傳遞HTTP請求和上下文以進行呈現。模板標籤應該用於獲取與當前模板無關的信息(即獲取博客中最新的條目或最受歡迎的條目,但他們可以真正做你喜歡的任何事情)。
這種缺乏定義(或者我的無知)已經開始接觸到我,我希望在設計和實現方面保持一致,因此歡迎任何輸入!