使用重寫模板加載器擴展和重寫Django 管理模板
擴展和重寫Django 管理模板而不替換它們是一個常見的挑戰開發商的擔憂。儘管先前對此主題進行了討論,但對於使用 app_directories 模板載入器的專案來說,該問題仍然普遍存在。
一種解決方法涉及複製管理範本並從副本進行擴展,但這會增加複雜性和維護開銷。為了簡化此過程,我們開發了一個自訂模板載入器,使開發人員能夠擴展特定應用程式中的任何模板。
實作覆蓋模板載入器
擴充管理模板,例如 admin/index.html,開發者可以在應用程式的 templates目錄中建立自己的同名模板,並在模板的開頭添加以下行:
內在此擴充模板中,開發人員可以定義區塊來覆蓋基本模板的特定部分。例如,要為側邊欄添加額外的鏈接,他們可以創建以下區塊:
解決Django 中的問題
截至最新和上一個版本Django 的LTS 版本(3.2、2.2、1.11),使用app_directories範本載入器覆蓋和擴充管理範本仍然是一個已記錄的問題。然而,沒有跡象表明這個問題是否會在 Django 的未來版本中解決。
以上是如何擴展和覆蓋 Django 管理模板而不替換它們?的詳細內容。更多資訊請關注PHP中文網其他相關文章!