Hier ist eine Anleitung, wie du django-unfold in dein Django-Projekt integrierst und die Vorteile des Tools nutzen kannst.
django-unfold ist ein Open-Source-Paket, das die Django-Adminoberfläche modernisiert und um eine benutzerfreundliche UI erweitert.
Es bietet eine schlanke und anpassbare Oberfläche, die sich besonders gut für Projekte eignet, bei denen die Standard-Django-Adminoberfläche nicht ausreicht. django-unfold bietet unter anderem bessere Bedienbarkeit, mehr Flexibilität in der Darstellung von Modellen und eine ansprechende, mobile-optimierte Benutzeroberfläche.
django-unfold kann einfach über pip
installiert werden. Füge es als Abhängigkeit zu deinem Projekt hinzu:
pip install django-unfold
Füge django-unfold in den INSTALLED_APPS
in deinen Django-Einstellungen hinzu:
INSTALLED_APPS = [
# Andere Apps...
"unfold",
"django.contrib.admin",
# Weitere Apps...
]
Da django-unfold seine eigenen Datenstrukturen verwendet, musst du die Datenbank-Migrationen ausführen:
python manage.py migrate
Jetzt sollte django-unfold korrekt installiert sein und bereit zur Nutzung im Admin-Panel sein.
Mit django-unfold kannst du in deiner admin.py
Datei Modelle auf ähnliche Weise registrieren wie mit der Standard-Admin-Oberfläche, jedoch mit zusätzlichen Konfigurationsoptionen für eine ansprechendere Benutzeroberfläche.
Hier ein Beispiel für ein einfaches Modell und die entsprechende Admin-Registrierung mit unfold.
from django.contrib import admin
from unfold.admin import ModelAdmin
from .models import Artikel
@admin.register(Artikel)
class ArtikelAdmin(ModelAdmin):
list_display = ["titel", "author", "veröffentlichungsdatum"]
search_fields = ["titel", "inhalt"]
list_filter = ["author", "veröffentlichungsdatum"]
In der Listenansicht kannst du mit django-unfold Felder und Filter ganz einfach konfigurieren und erweitern. Hier einige weitere Optionen:
list_display
: Zeigt die angegebenen Felder in der Listenansicht.search_fields
: Ermöglicht die Suche innerhalb der definierten Felder.list_filter
: Fügt Filteroptionen basierend auf den angegebenen Feldern hinzu.Mit diesen Optionen kannst du die Daten effizient darstellen und die Benutzerfreundlichkeit der Admin-Oberfläche erhöhen.
Ein großer Vorteil von django-unfold ist die Flexibilität in der Detailansicht eines Modells. Du kannst Felder gruppieren, Layouts anpassen und die Benutzerführung verbessern. Hier ein Beispiel:
@admin.register(Artikel)
class ArtikelAdmin(ModelAdmin):
fieldsets = [
("Allgemein", {"fields": ["titel", "inhalt"]}),
("Metadaten", {"fields": ["author", "veröffentlichungsdatum"]}),
]
django-unfold unterstützt auch sogenannte "Inlines", um verwandte Modelle in einem Hauptmodell anzuzeigen. Dies ist nützlich, wenn du z. B. Kommentare in der Artikel-Ansicht integrieren möchtest.
from django.contrib import admin
from unfold.admin import ModelAdmin
from unfold.admin import TabularInline
from .models import Kommentar, Artikel
class KommentarInline(TabularInline):
model = Kommentar
extra = 1
@admin.register(Artikel)
class ArtikelAdmin(ModelAdmin):
inlines = [KommentarInline]
Hier wird ein Inline-Formular zur Eingabe von Kommentaren in der Detailansicht eines Artikels hinzugefügt, was die Interaktion mit verknüpften Daten erleichtert.
django-unfold ermöglicht es dir, benutzerdefinierte CSS- und JavaScript-Dateien einzubinden, um das Styling der Admin-Ansichten weiter anzupassen. Dazu musst du die gewünschten Dateien im static
-Ordner deines Projekts hinterlegen und sie über die Admin-Ansichten laden.
Beispiel:
class ArtikelAdmin(ModelAdmin):
class Media:
css = {"all": ("css/custom_admin.css",)}
js = ("js/custom_admin.js",)
django-unfold bietet eine umfassende Lösung für eine verbesserte und moderne Django-Adminoberfläche. Die flexiblen Anpassungsmöglichkeiten und das ansprechende Design helfen, das Admin-Panel intuitiver und benutzerfreundlicher zu gestalten.
Finden Sie interessante und zum Thema passende Kurse
Diese Schulung „Python für Fortgeschrittene“ vertieft fortgeschrittene Programmiertechniken in Python, wie objektorientierte Programmierung, funktionale Programmierung und Persistenz. Die Teilnehmer lernen, wie sie komplexe Designs und Muster in Python umsetzen, effiziente Datenverarbeitung durchführen und wissenschaftliche Python-Bibliotheken nutzen können. Die Schulung bietet zudem praxisnahe Einblicke in Datenbanken, Metaklassen, Caching und maschinelles Lernen mit scikit-learn.
5 Tage Vollzeit Online
Nächster Termin: 13. Januar 2025
Preis pro Person: 1900,00 EUR
Rabattaktion: 3 für den Preis von 2!
Entdecken Sie die fortgeschrittenen Funktionen von Django in unserem intensiven Aufbaukurs. Dieser Kurs richtet sich an Entwickler, die bereits mit den Grundlagen von Django vertraut sind und ihre Fähigkeiten auf das nächste Level bringen möchten. Lernen Sie, wie Sie komplexe Anwendungen mit Docker erstellen, eine CD/CI-Pipeline anlegen, APIs integrieren und das Projekt auf einen Server deployen.
5 Tage Vollzeit Online
Nächster Termin: 10. März 2025
Preis pro Person: 1900,00 EUR
Rabattaktion: 3 für den Preis von 2!
In diesem intensiven 5-Tage-Seminar lernen Entwickler, professionelle REST-APIs mit dem Django REST Framework zu erstellen, zu optimieren und zu testen.
5 Tage Vollzeit Online
Nächster Termin: 27. Januar 2025
Preis pro Person: 1600,00 EUR
Rabattaktion: 3 für den Preis von 2!