首頁  >  文章  >  web前端  >  直接修改 base.css 是在 Django Admin 中覆蓋 CSS 的最佳方式嗎?

直接修改 base.css 是在 Django Admin 中覆蓋 CSS 的最佳方式嗎?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-04 09:15:30345瀏覽

Is Direct Modification of base.css the Optimal Way to Override CSS in Django Admin?

在 Django Admin 覆蓋 CSS:直接修改是最好的方法嗎?

在 Django 管理介面中修改 CSS 可以增強外觀和使用者體驗經驗。然而,問題出現了:直接編輯 Django 庫中的 base.css 檔案是最有效的方法嗎?

CSS 客製化的替代方案

還有更合適的在Django Admin 中覆蓋CSS 並保持基本程式碼完整性的方法:

1.覆蓋管理範本

對於一般外觀更改,覆蓋Django 的管理範本是建議的方法。擴充原來的管理模板並修改特定區塊,例如base.html中的extrastyle區塊。有關模板覆蓋的詳細指導,請參閱 Django 文件。

範例:

{% extends "django/contrib/admin/templates/admin/base.html" %}
{% block extrastyle %}
    <style>
        /* Custom CSS code here */
    </style>
{% endblock %}

2.透過媒體元類別進行自訂

對於某些模型的樣式,admin.py 檔案中的媒體元類別可讓您新增自訂CSS 和JavaScript:

範例:

<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>

替代方法的優點:

  • 可維護性:覆蓋範本或使用Media 元類別可確保自訂CSS程式碼與核心Django 程式碼庫隔離,使維護更容易。
  • 靈活性:這些方法在自訂管理介面中特定部分或模型的外觀方面提供了更大的靈活性。
  • 協作:從事相同專案的團隊成員可以輕鬆識別和修改自訂 CSS,而不必擔心無意中影響基本 Django 程式碼。

結論

雖然直接修改Django 的base.css 檔案可能很誘人,但覆蓋管理範本或使用媒體元類別是自訂Django 管理界面外觀的更謹慎和可持續的方法。這些方法提高了程式碼的可維護性、增加了靈活性並促進了協作。

以上是直接修改 base.css 是在 Django Admin 中覆蓋 CSS 的最佳方式嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn