1. Einführung in Django Admin
Django Admin ist ein Management-Backend-Tool, das mit dem Django-Framework geliefert wird. Es ermöglicht Entwicklern die einfache Verwaltung von Datenmodellen in Anwendungen über eine intuitive Weboberfläche. Admin bietet Modell-CRUD-Vorgänge (Erstellen, Lesen, Aktualisieren, Löschen) sowie Datenstapelverarbeitungs- und Suchfunktionen, was die tägliche Datenbankverwaltung erheblich vereinfacht. Es eignet sich nicht nur für die Entwicklungsphase, sondern auch sehr gut für die Datenpflege in der Produktionsumgebung.
2. Anpassung der Admin-Oberfläche
Django Admin bietet zahlreiche Anpassungsoptionen, sodass Entwickler die Benutzeroberfläche an die Projektanforderungen anpassen können.
- Benutzerdefinierte Admin-Vorlagen : Sie können das Erscheinungsbild der Admin-Oberfläche ändern, indem Sie benutzerdefinierte Vorlagen erstellen.
AD: Startseite | Eine effiziente Online-Plattform, die eine breite Palette von Thementools wie Änderungen abdecktadmin/base_site.html
. - Benutzerdefiniertes Admin-CSS und JavaScript :
settings.py
Benutzerdefinierte CSS- und JavaScript-Dateien können hinzugefügt werden, um den Stil und das Verhalten von Admin zu ändern.
2.2 Verwenden Sie die Admin-Klasse für die erweiterte Konfiguration
Django Admin verwendet die Admin-Klasse, um die Verwaltungsschnittstelle des Modells zu konfigurieren.
- Admin-Klasse erstellen :
admin.py
Erstellen Sie in eine Admin-Klasse für jedes Modell, z. B.class MyModelAdmin(admin.ModelAdmin): ...
. - Admin-Klasse registrieren : Verwenden Sie
admin.site.register(MyModel, MyModelAdmin)
das Registrierungsmodell und die entsprechende Admin-Klasse. - Konfigurationsoptionen : In der Admin-Klasse können Sie verschiedene Optionen festlegen, z. B.
list_display
die Angabe der auf der Listenseite angezeigten Felder,search_fields
das Hinzufügen eines Suchfelds usw.
2.3 Verwaltung von Feldern und Feldsätzen
- Feldverwaltung
fields
: Sie können das oder- Attribut in der Admin-Klasse verwendenfieldsets
, um die Anzeige von Feldern auf der Bearbeitungsseite zu steuern. - Feldsätze :
fieldsets
Ermöglichen die Gruppierung von Feldern, um eine bessere Benutzererfahrung zu bieten,fieldsets = [('基本信息', {'fields': ['name', 'description']}), ...]
z. B.
2.4 Optimierung von Listenseiten
- Passen Sie die Listenansicht an : Verwenden Sie
list_display
die Felder, um die Anzeige der Listenseite zu steuern,list_filter
Filter hinzuzufügen undordering
die Standardsortierung festzulegen. - Aktionsschaltflächen hinzufügen : Verwenden Sie
actions
Attribute, um Massenaktionen hinzuzufügen, z. B. Massenlöschen oder Als gelesen markieren.
2.5 Verwendung von Inline-Modellen
Inline-Modelle ermöglichen die direkte Bearbeitung des zugehörigen Modells auf der Bearbeitungsseite des übergeordneten Modells.
- Definieren Sie ein Inline-Modell : Verwenden Sie
inlines
beispielsweise das Attribut in der Admin-Klasseclass RelatedModelInline(admin.TabularInline): model = RelatedModel
. - Inline-Modelle verwenden : Fügen Sie Inline-Modelle in der Admin-Klasse des übergeordneten Modells hinzu, z
inlines = [RelatedModelInline]
.
3 Anpassung und Erweiterung des Admins
3.1 Admin-Vorlage anpassen
- Benutzerdefinierte Admin-Vorlage : Mit Django Admin können Sie das Erscheinungsbild und das Verhalten der Admin-Oberfläche anpassen, einschließlich der Änderung des Erscheinungsbilds von Modelllisten, Formularen und Detailseiten.
- Angepasster Admin-Stil : Sie können den Stil der Admin-Oberfläche anpassen, indem Sie die Admin-Vorlage überschreiben oder benutzerdefiniertes CSS verwenden.
3.2 Admin-Aktionen verwenden
- Admin-Aktionen : Django Admin bietet die Funktion „Admin-Aktionen“, mit der Sie Objekte auf der Admin-Oberfläche stapelweise verarbeiten können, z. B. Batch-Löschung, Export und andere Vorgänge.
- Benutzerdefinierte Admin-Aktionen : Sie können benutzerdefinierte Admin-Aktionen schreiben, um bestimmte Batch-Vorgänge auszuführen.
3.3 Integrieren Sie Anwendungen von Drittanbietern
- Integration von Drittanbieteranwendungen : Django ermöglicht Ihnen die einfache Integration von Drittanbieteranwendungen. Durch die Installation und Konfiguration von Drittanbieteranwendungen können Sie die Funktionalität von Django erweitern.
3.4 Internationalisierung und Lokalisierung
- Internationalisierung : Django bietet Internationalisierungsunterstützung, sodass Sie Ihre Anwendung in mehrere Sprachen lokalisieren können.
- Lokalisierung : Mithilfe der integrierten Internationalisierungstools und Übersetzungsmechanismen von Django können Anwendungen problemlos in verschiedene Sprachen und Regionen lokalisiert werden.
3.5 Verwendung des Django REST Frameworks für die API-Entwicklung
- Django REST Framework : DRF ist ein leistungsstarkes und flexibles Tool zum Erstellen von Web-APIs. Es bietet umfangreiche Funktionen, einschließlich Serialisierung, Ansichten, Authentifizierung, Berechtigungen usw.
- API-Entwicklung : Mit DRF können Sie schnell eine API erstellen, die den RESTful-Designprinzipien entspricht und Datenschnittstellen für mobile Anwendungen, Front-End-Frameworks oder andere Dienste bereitstellt.
Beispiele für Codeanpassungen:
# Register your models here.
from django.db import models
from blog.models import Article
admin.site.site_header= "自动化测试平台"
admin.site.site_title= "自动化测试平台"
#@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
#编辑要显示的信息
list_display = ["title","brief_content","publish_date"]
#list_filter = ['title']
#搜索的字段
search_fields = ['title', 'brief_content']
admin.site.register(Article,ArticleAdmin)