dingo est une application Django qui étend le Django Admin pour permettre la création facile de vues supplémentaires pour les classes de modèle et instances. dingo vous permet également de personnaliser l'administrateur de des applications tierces, sans sous-classement ou de modifier l'arborescence de la source d'origine.
Utilisation
Pour utiliser dingo, assurez-vous qu'il est sur le chemin de Python, et l'ajouter à vos INSTALLED_APPS mise en settings.py. Notez que dingo doit être installé avant django.contrib.admin, car il remplace l'AdminSite par défaut par un instrument qui sera les classes ModelAdmin enregistrés.
Modèles vs objets
dingo peut être utilisé pour enregistrer des vues pour les modèles ou les objets. Vues enregistrées pour les modèles ne sont pas spécifiques à une instance du modèle; ils peuvent être considérés comme similaires à Django actions admin avec un [potentiellement] queryset vide. vues d'instance opèrent sur des instances de modèle unique; vous pouvez penser à eux comme similaire à des actions administrateur qui opèrent sur un seul objet à la place d'un queryset.
dingo vues diffèrent des actions d'administration dans un couple des manières subtiles. La différence la plus importante est qu'ils peuvent être injectés dans des applications tierces wihthout sous-classes ou de modifier le code de l'application. vues dingo ont aussi une interface utilisateur différente par défaut. dingo comprend des modèles de remplacement de dossier qui montrent dingo vues que les boutons dans la partie supérieure droite de la liste du changement et changent les vues du formulaire.
Ajout Vues
Si vous souhaitez utiliser dingo à ajouter le modèle ou l'objet des vues à l'interface d'administration de votre modèle, vous pouvez les définir soit comme des fonctions ou des méthodes sur l'ModelAdmin.
Par exemple, pour définir le point de vue en fonction:
dingo d'importation
dingo_test.models d'importation
@ Dingo.object_view (dingo_test.models.RstDocument)
@ Dingo.short_description ("Render")
def render (model_admin, demande, object_id):
& Nbsp; de redirection d'importation django.shortcuts
& Nbsp; le document = dingo_test.mdoels.RstDocument.objects.get (id = object_id)
& Nbsp; retour Réponse ()
Le même point de vue peut également être une méthode sur le ModelAdmin:
RstDocumentAdmin de classe (ModelAdmin):
& Nbsp; @ dingo.object_view (dingo_test.models.RstDocument)
& Nbsp; @ dingo.short_description ("Render")
& Nbsp; rendre def (auto, demande, object_id):
& Nbsp; passe
Notez que l'utilisation du décorateur short_description définit l'étiquette utilisée dans l'interface utilisateur d'administration, et est facultative dans ce cas. Si aucune description est fournie, dingo seront formater la fonction ou le nom de la méthode, semblable à la façon dont Django formats par défaut pour les modèles noms verbeux.
Ajout Vues à des applications tierces
Tant que dingo est listé dans INSTALLED_APPS avant django.contrib.admin, l'exemple basé sur les fonctions ci-dessus fonctionnera comme souhaité. Notez que le code doit être importé pour que l'enregistrement se produit correctement
Caractéristiques :.
- créer facilement de nouveaux points de vue pour votre Modèle Admin, soit au niveau du modèle ou de l'objet.
- Injecter personnalisations dans la déclaration d'administration d'une application tierce sans modifier la base de code d'origine.
Exigences :
- Python
Commentaires non trouvées