CSS in Django Admin überschreiben: Ist direkte Änderung der beste Ansatz?
Das Ändern von CSS in der Django-Administratoroberfläche kann das Erscheinungsbild und den Benutzer verbessern Erfahrung. Es stellt sich jedoch die Frage: Ist das direkte Bearbeiten der Datei base.css innerhalb der Django-Bibliothek der effektivste Ansatz?
Alternative Lösungen für die CSS-Anpassung
Es gibt geeignetere Möglichkeiten zum Überschreiben von CSS in Django Admin, die die Integrität des Basiscodes bewahren:
1. Überschreiben von Admin-Vorlagen
Für allgemeine Änderungen am Erscheinungsbild ist das Überschreiben der Admin-Vorlagen von Django die empfohlene Methode. Erweitern Sie die ursprüngliche Admin-Vorlage und ändern Sie bestimmte Blöcke, z. B. den Extrastyle-Block in base.html. Ausführliche Anleitungen zum Überschreiben von Vorlagen finden Sie in der Django-Dokumentation.
Beispiel:
{% extends "django/contrib/admin/templates/admin/base.html" %} {% block extrastyle %} <style> /* Custom CSS code here */ </style> {% endblock %}
2. Anpassen über die Media-Metaklasse
Für Stile, die für bestimmte Modelle spezifisch sind, können Sie mit der Media-Metaklasse in der Datei admin.py benutzerdefiniertes CSS und JavaScript hinzufügen:
Beispiel:
<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>
Vorteile alternativer Methoden:
Fazit
Während es verlockend sein mag, die Datei base.css von Django direkt zu ändern, ist das Überschreiben von Admin-Vorlagen oder die Verwendung der Media-Metaklasse ein umsichtigerer und nachhaltigerer Ansatz zum Anpassen des Erscheinungsbilds der Django-Administratoroberfläche. Diese Methoden fördern die Wartbarkeit des Codes, erhöhen die Flexibilität und erleichtern die Zusammenarbeit.
Das obige ist der detaillierte Inhalt vonIst die direkte Änderung von base.css die optimale Möglichkeit, CSS in Django Admin zu überschreiben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!