保留 Django Admin 樣式:CSS 覆蓋指南
在 Django Admin 中覆蓋 CSS 是自訂介面外觀的常見必要條件。但是,避免直接更改 Django 庫至關重要。本文探討了在 Django Admin 中涵蓋 CSS 的最佳做法。
選項 1:管理範本覆蓋
如果您的目標是修改 Django Admin 的整體外觀和感覺管理介面,覆蓋管理範本是建議的方法。透過擴展原始管理文件,您可以選擇性地覆蓋特定的 CSS 區塊。例如,您可以覆寫 Django 的 base.html 檔案中的 extrastyle 區塊來注入您自己的樣式。
選項2:模型特定的CSS 覆蓋
對於模型-特定的CSS 自訂,使用admin.py 檔案中的Media 元類別是有效的解決方案。透過 Media 類別將 CSS 檔案與特定模型關聯起來,您可以只將獨特的樣式套用到這些模型。
例如:
<code class="python">class MyModelAdmin(admin.ModelAdmin): class Media: js = ('js/admin/my_own_admin.js',) css = { 'all': ('css/admin/my_own_admin.css',) }</code>
在此場景中,CSS 檔案 my_own_admin.css僅當編輯或檢視由 MyModelAdmin 管理的模型實例時才會載入。
避免直接修改
強烈建議不要直接修改 Django 的 base.css 或其他函式庫檔。這些變更在 Django 升級過程中很容易被覆蓋,從而使維護自訂變得困難。
透過遵循上述方法,您可以安全有效地覆蓋 Django Admin 中的 CSS,保留原始庫的完整性並確保您的自訂在 Django 版本升級過程中仍然存在。
以上是如何在不進行重大變更的情況下自訂 Django 管理樣式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!