我非常熟悉如何覆蓋Django的管理模板,但是我一直無法找到關於如何正確覆蓋可用於上述模板的上下文的任何說明。比如這個頁面:你如何覆蓋Django的管理員app_index?
root/users/templates/admin/users/app_index.html
但是,如果我想要什麼在之前做一些更多的Python層次的東西:
/admin/users/
該頁面的樣式可以通過創建一個文件被覆蓋模板被加載?特別是在我的情況下,我想爲/admin/users/
生成一種儀表板,爲此我需要運行一個相當複雜的查詢。
現在我知道我可以通過創建一個模板標籤,做查詢我砍這一點,但坦率地說那是因爲你打從模板數據庫中很骯髒的,所以我想這樣做更好如果存在這種方式的話。
但是,如果您能夠充滿信心地(並且令人信服地)說明,如果不重寫django.contrib.admin.sites.AdminSite.app_index
,那麼我就會將您的答案標記爲正確,並隨着我的醜陋攻擊行事。
我認爲覆蓋'AdminSite.app_index'將是正確的方式來做到這一點。但是,由於使用自定義管理站點註冊您的所有'ModelAdmin'是不方便的,並且猴子補丁'AdminSite'會很冒險,所以模板標籤是實用的方法。我會讓別人信服;) – Alasdair
這也是我的想法,但希望我錯過了一些東西。 –