dingo is een Django app die de Django Admin strekt zich uit tot de gemakkelijke creatie van extra views voor Model klassen en instanties mogelijk te maken. dingo kunt u ook de Admin van toepassingen van derden aan te passen, zonder subclassing of wijzigen van de oorspronkelijke bron boom.
Gebruik
Om dingo gebruiken, ervoor te zorgen dat het op de Python pad en deze toevoegen aan uw INSTALLED_APPS instelling in settings.py. Merk op dat dingo moet worden geïnstalleerd voordat django.contrib.admin, want het vervangt de standaard AdminSite met een die zal het instrument ModelAdmin klassen geregistreerd.
Modellen vs. Objects
dingo kan worden gebruikt om te registreren standpunten voor modellen of objecten. Bekeken geregistreerd voor modellen zijn niet specifiek voor een exemplaar van het model; zij kunnen worden beschouwd als vergelijkbaar met Django admin acties een [mogelijk] leeg queryset. Uitzichten bijvoorbeeld werken op één model gevallen; kunt u denken aan hen als vergelijkbaar met admin acties die werken op een enkel object in plaats van een queryset.
uitzicht dingo verschillen van admin acties in een paar subtiele manieren. Het belangrijkste verschil is dat ze kunnen worden geïnjecteerd in applicaties van derden wihthout sub-classing of aanpassen van de applicatie code. uitzicht dingo hebben ook een andere user interface standaard. dingo omvat vervanging admin templates die dingo uitzicht als knoppen in de rechterbovenhoek gedeelte van de lijst met veranderingen te laten zien en te wijzigen uitzicht vorm.
Het toevoegen Bekeken
Als u wilt dingo gebruiken om model standpunten toe te voegen of bezwaar aan admin van uw model, kunt u ze definiëren, hetzij als functies of methoden op het ModelAdmin.
Bijvoorbeeld, om de weergave als functie definiëren:
import dingo
import dingo_test.models
@ Dingo.object_view (dingo_test.models.RstDocument)
@ Dingo.short_description ("Render")
def maken (model_admin, verzoek, object_id):
& Nbsp; van django.shortcuts import redirect
& Nbsp; document = dingo_test.mdoels.RstDocument.objects.get (id = object_id)
& Nbsp; return Response ()
Dezelfde zicht kan ook een werkwijze voor het ModelAdmin zijn:
klasse RstDocumentAdmin (ModelAdmin):
& Nbsp; @ dingo.object_view (dingo_test.models.RstDocument)
& Nbsp; @ dingo.short_description ("Render")
& Nbsp; def maken (zelf, verzoek, object_id):
& Nbsp; pas
Merk op dat het gebruik van de short_description decorator definieert het etiket in de admin user interface en is in dat geval facultatief. Als er geen beschrijving wordt verstrekt, zal dingo de functie of methode naam, vergelijkbaar met hoe Django formaten standaard uitgebreide namen voor de modellen formatteren.
Het toevoegen Bekeken Derden Toepassingen
Zolang dingo is opgenomen in INSTALLED_APPS voordat django.contrib.admin, boven de functie op basis van voorbeeld zal werken zoals gewenst. Merk op dat de code moet worden ingevoerd om ervoor te zorgen dat de registratie plaatsvindt goed
Eigenschappen .
- Maak eenvoudig nieuwe weergaven voor uw Model Admin, hetzij op het model of object niveau.
- aanpassingen in de admin verklaring van een applicatie van derden Spuit zonder wijziging van de oorspronkelijke code base.
Eisen
- Python
Reacties niet gevonden