dingo er en Django app som utvider Django Admin å tillate enkel etablering av flere visninger for Model klasser og instanser. dingo kan du også tilpasse Admin av tredjeparts applikasjoner, uten subclassing eller endre den opprinnelige kilden treet.
Bruk
For å bruke dingo, sørge for at det er på Python banen, og legge den til dine INSTALLED_APPS innstillingen i settings.py. Merk at dingo må installeres før django.contrib.admin, som det vil standard AdminSite med en som vil instrument de ModelAdmin klasser registrert.
Modeller vs. Objekter
dingo kan brukes til å registrere visninger for modeller eller objekter. Visninger registrert for modellene er ikke spesifikke for noen forekomst av modellen; de kan være tenkt som ligner på Django admin handlinger med en [potensielt] tom queryset. Synspunkter eksempel operere på enkelt modell tilfeller; du kan tenke på dem som ligner på admin handlinger som opererer på et enkelt objekt i stedet for en queryset.
utsikt dingo avvike fra admin handlinger i et par subtile måter. Den viktigste forskjellen er at de kan injiseres i tredjeparts applikasjoner wihthout sub-klassing eller endrer applikasjonskoden. utsikt dingo har også et annet brukergrensesnitt som standard. dingo omfatter utskifting admin maler som viser dingo synspunkter som knapper i øvre høyre området på listen endring og endre visninger skjema.
Legge Views
Hvis du vil bruke dingo å legge modell eller objekt utsikt til din modell er admin, kan du definere dem enten som funksjoner eller som metoder på ModelAdmin.
For eksempel, for å definere visningen som en funksjon:
import dingo
import dingo_test.models
@ Dingo.object_view (dingo_test.models.RstDocument)
@ Dingo.short_description ("Render")
def gjengi (model_admin, forespørsel, object_id):
& Nbsp; fra django.shortcuts import redirect
& Nbsp; dokument = dingo_test.mdoels.RstDocument.objects.get (id = object_id)
& Nbsp; retur Response ()
Den samme utsikten 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 render (selv, forespørsel, object_id):
& Nbsp; pass
Vær oppmerksom på at bruk av SHORT_DESCRIPTION dekoratør definerer etiketten brukes i admin brukergrensesnitt, og er valgfritt i dette tilfellet. Dersom ingen beskrivelse er gitt, vil dingo formatere funksjon eller metode navn, ligner på hvordan Django formater standardutfør navnene for modellene.
Legge Utsikt til tredjeparts applikasjoner
Så lenge dingo er oppført i INSTALLED_APPS før django.contrib.admin, funksjonsbaserte eksempelet ovenfor vil fungere som ønsket. Merk at koden må importeres for å sikre at registreringen skjer på riktig måte
Egenskaper .
- Enkelt å lage nye visninger for din Modellen Admin, enten på Model eller objektet nivå.
- Sprøyt tilpasninger inn i admin erklæring av en tredjepartsprogram uten å endre den opprinnelige kodebasen.
Krav
- Python
Kommentarer ikke funnet