Dingo ist ein Django-Applikation, die den Django Admin erstreckt, um das einfache Erstellen von zusätzlichen Ansichten für Modell Klassen und Instanzen zu ermöglichen. dingo erlaubt Ihnen auch, den Admin von Anwendungen von Drittanbietern anzupassen, ohne Unterklassenbildung oder Änderung des ursprünglichen Quellbaum.
Verwendung
Um dingo verwenden, stellen Sie sicher, dass es auf der Python-Pfad, um sie Ihren INSTALLED_APPS Einstellung in settings.py hinzuzufügen. Beachten Sie, dass Dingo muss vor django.contrib.admin installiert werden, da es die Standard-Adminsite mit einer, wird die Urkunde registriert Modeladmin Klassen ersetzt.
Models vs. Objekte
dingo kann verwendet werden, um Ansichten für Modelle oder Objekte zu registrieren. Ansichten für Models registriert sind nicht spezifisch für jede Instanz des Modells; sie kann als ähnlich zu Django Admin-Aktionen mit [möglicherweise] leer queryset gedacht werden. Instance Ansichten Betrieb auf Einzelmodellinstanzen; Sie von ihnen als ähnlich dem Server-Betreiber Maßnahmen, die auf einem einzelnen Objekt anstelle eines queryset bedienen.
dingo Ansichten unterscheiden sich von Admin-Aktionen in ein paar subtile Weise. Der wichtigste Unterschied ist, dass sie in Anwendungen von Drittanbietern wihthout Nebenklasse oder Änderung des Anwendungscodes eingespritzt werden. dingo Ansichten haben auch eine andere Benutzeroberfläche standardmäßig. dingo umfasst Ersatz Admin-Templates, die dingo Ansichten als Schaltflächen in der rechten oberen Bereich der Änderungsliste Form Ansichten zeigen und zu ändern.
Hinzufügen von Ansichten
Wenn Sie dingo verwenden, um Modell zu Ihrem Modell hinzufügen oder Admin-Objekt Ansichten möchten, können Sie sie entweder als Funktionen oder Methoden auf der Modeladmin definieren.
Zum Beispiel, um die Ansicht als eine Funktion zu definieren:
Import dingo
Import dingo_test.models
@ Dingo.object_view (dingo_test.models.RstDocument)
@ Dingo.short_description ("Render")
def render (model_admin, Anfrage, object_id):
& Nbsp; von django.shortcuts import redirect
& Nbsp; document = dingo_test.mdoels.RstDocument.objects.get (id = object_id)
& Nbsp; Rück Response ()
Die gleiche Ansicht kann auch eine Methode für das Modeladmin sein:
Klasse RstDocumentAdmin (Modeladmin):
& Nbsp; @ dingo.object_view (dingo_test.models.RstDocument)
& Nbsp; @ dingo.short_description ("Render")
& Nbsp; def machen (self, Anfrage, object_id):
& Nbsp; Pass
Beachten Sie, dass die Verwendung des short_description Dekorateur definiert das Etikett in der Admin-Benutzeroberfläche verwendet wird, und ist optional in diesem Fall. Wenn keine Beschreibung angegeben wird, wird der Dingo Funktion oder Methode Namen, ähnlich wie Django formatiert standardmäßig ausführliche Namen für die Modelle zu formatieren.
Hinzufügen von Ansichten, um Anwendungen von Drittanbietern
Solange Dingo in INSTALLED_APPS vor django.contrib.admin aufgeführt, über die funktionsbasierte Beispiel funktioniert wie gewünscht. Beachten Sie, dass der Code muss importiert, um sicherzustellen, dass die Registrierung korrekt auftritt
Eigenschaften .
- Erstellen Sie ganz einfach neue Ansichten für Ihre Modell Admin, entweder am Modell oder Objektebene.
- Anpassungen in der Admin-Erklärung eines Dritten Anwendung Injizieren Sie ohne Änderung des ursprünglichen Codebasis.
Anforderungen :
- Python
Kommentare nicht gefunden