dingo er en Django app, som udvider Django Admin at tillade nem oprettelse af yderligere visninger for Model klasser og instanser. dingo giver dig også mulighed for at tilpasse Admin af tredjeparts applikationer, uden delklasse eller ændre den oprindelige kilde træet.
Anvendelse
For at bruge dingo, at det er på Python vej, og føje den til dine INSTALLED_APPS indstilling i settings.py. Bemærk, at dingo skal installeres før django.contrib.admin, da det erstatter standard AdminSite med en, der vil instrument de ModelAdmin klasser registreres.
Modeller vs. objekter
dingo kan bruges til at registrere visninger for modeller eller objekter. Synspunkter, der er registreret for Modeller er ikke specifikke for nogen instans af modellen; de kan opfattes som ligner Django admin handlinger med en [potentielt] tom queryset. Synspunkter eksempel opererer på enkelte model instanser; du kan tænke på dem som ligner admin handlinger, der opererer på et enkelt objekt i stedet for en queryset.
Dingo synspunkter afviger fra admin handlinger i et par subtile måder. Den vigtigste forskel er, at de kan injiceres i tredjepartsprogrammer wihthout sub-klassificerer eller ændre ansøgningen kode. Dingo synspunkter har også en anden brugergrænseflade som standard. dingo omfatter udskiftning admin skabeloner, som viser Dingo synspunkter som knapper i øverste højre område af ændringen listen og ændre synspunkter danner.
Tilføjelse Views
Hvis du ønsker at bruge dingo at tilføje model eller objekt udsigt til din Model s admin, kan du definere dem enten som funktioner eller som metoder på ModelAdmin.
For eksempel for at definere visningen som en funktion:
import dingo
import dingo_test.models
@ Dingo.object_view (dingo_test.models.RstDocument)
@ Dingo.short_description ("Render")
def gengive (model_admin, anmodning object_id):
& Nbsp; fra django.shortcuts import omdirigering
& Nbsp; dokument = dingo_test.mdoels.RstDocument.objects.get (id = object_id)
& Nbsp; tilbagevenden Response ()
Den samme opfattelse kan også være en metode på ModelAdmin:
klasse RstDocumentAdmin (ModelAdmin):
& Nbsp; @ dingo.object_view (dingo_test.models.RstDocument)
& Nbsp; @ dingo.short_description ("Render")
& Nbsp; def gør (selv, anmodning object_id):
& Nbsp; pass
Bemærk, at brugen af short_description decorator definerer den anvendte mærkning i admin brugergrænsefladen, og er valgfri i dette tilfælde. Hvis ingen beskrivelse afgives, vil dingo formatere funktion eller metode navn, svarende til, hvordan Django formater standard verbose navne til modellerne.
Tilføjelse Udsigt til tredjepartsprogrammer
Så længe dingo er opført i INSTALLED_APPS før django.contrib.admin, funktionen baserede eksemplet ovenfor vil fungere som ønsket. Bemærk, at koden skal importeres for at sikre, at registrering sker korrekt
Funktioner :.
- Nemt at oprette nye visninger til din Model Admin, enten på Model eller objekt-niveau.
- Sprøjt tilpasninger ind i admin erklæring om en tredjepart ansøgning uden at ændre den oprindelige kode base.
Krav :
- Python
Kommentarer ikke fundet