dingo è un applicazione Django che estende il Django Admin per consentire la facile creazione di visualizzazioni aggiuntive per le classi di modello e istanze. dingo permette inoltre di personalizzare la Amministratore degli applicazioni di terze parti, senza sottoclasse o modificare la struttura di origine originale.
Utilizzo
Per utilizzare dingo, assicurarsi che sia sulla via di Python, e aggiungerlo ai vostri INSTALLED_APPS impostazione in settings.py. Si noti che dingo deve essere installato prima django.contrib.admin, in quanto sostituisce il AdminSite default con uno che sarà strumento le classi ModelAdmin registrati.
Modelli vs. oggetti
dingo può essere utilizzato per registrare vista per i modelli o gli oggetti. Vista registrati per i modelli non sono specifici di ogni istanza del modello; essi possono essere considerati come simili ad azioni di admin Django con un [potenzialmente] queryset vuoto. Vista istanza operano su istanze modello unico; si può pensare a loro come simili ad azioni di amministrazione che operano su un singolo oggetto invece di un queryset.
vista dingo differenziano dalle azioni di amministrazione in un paio di modi sottili. La differenza più importante è che essi possono essere iniettati in applicazioni di terze parti wihthout sub-classing o modificare il codice dell'applicazione. vista dingo hanno anche una differente interfaccia utente di default. dingo include modelli sostituzione di amministrazione che mostrano dingo viste come pulsanti nella zona in alto a destra della lista cambiamento e il cambiamento di vista del modulo.
Aggiunta di Vista
Se si desidera utilizzare dingo per aggiungere il modello o un oggetto di vista di amministrazione del vostro modello, è possibile definire sia come funzioni o come metodi sul ModelAdmin.
Ad esempio, per definire la vista come una funzione:
dingo importazione
dingo_test.models importazione
@ Dingo.object_view (dingo_test.models.RstDocument)
@ Dingo.short_description ("Render")
def render (model_admin, richiesta, object_id):
& Nbsp; da django.shortcuts redirect importazione
& Nbsp; documento = dingo_test.mdoels.RstDocument.objects.get (id = object_id)
& Nbsp; di risposta di ritorno ()
La stessa vista può essere anche un metodo sul ModelAdmin:
RstDocumentAdmin classe (ModelAdmin):
& Nbsp; @ dingo.object_view (dingo_test.models.RstDocument)
& Nbsp; @ dingo.short_description ("Render")
& Nbsp; def render (self, richiesta, object_id):
& Nbsp; passaggio
Si noti che l'utilizzo della decoratrice short_description definisce l'etichetta utilizzata nell'interfaccia utente admin, ed è facoltativo in questo caso. Se non è disponibile una descrizione, dingo formatta il nome della funzione o del metodo, simile a come Django formati predefiniti nomi verbose per i modelli.
Aggiunta di Vista per le applicazioni di terze parti
Finché dingo è elencato in INSTALLED_APPS prima django.contrib.admin, l'esempio basato su funzioni sopra funzionerà, se lo desideri. Si noti che il codice deve essere importato al fine di garantire che la registrazione si verifica correttamente
Caratteristiche .
- Creare facilmente nuove viste per il vostro Modello di amministrazione, sia a livello di modello o l'oggetto.
- Iniettare personalizzazioni nella dichiarazione di amministratore di un'applicazione di terze parti senza modificare la base di codice originale.
Requisiti
- Python
I commenti non trovato