dingo jest aplikacja, która rozszerza Django Django Admin, aby umożliwić łatwe tworzenie dodatkowych widoków dla klas modelu i wystąpień. dingo pozwala również dostosować Administrator aplikacji firm trzecich, bez podklasy lub modyfikowania oryginalnego drzewa źródłowego.
Zastosowanie
Aby korzystać dingo, upewnić się, że jest to na ścieżce Pythona, i dodać go do swoich ustawień w settings.py INSTALLED_APPS. Należy pamiętać, że dingo musi być zainstalowany przed django.contrib.admin, gdyż zastępuje domyślny AdminSite z jednym który będzie instrumentem klasy ModelAdmin zarejestrowany.
Obiekty modele vs.
dingo może być używany do rejestracji widoki dla modeli lub obiektów. Widoki zarejestrowanych dla modeli nie są specyficzne dla każdej instancji modelu; mogą być traktowane jako podobne do działania Django posiadających [potencjalnie] Puste QuerySet. Odsłon instancji działają na przypadkach pojedynczych modeli; można myśleć o nich jako podobny do administratora działań, które działają na jednym obiekcie, a nie QuerySet.
odsłon dingo administratora różni się od działania w ciągu kilku subtelnych sposobów. Najważniejszą różnicą jest to, że mogą być wstrzykiwane do aplikacji firm trzecich wihthout sub-pogrupowanie lub modyfikowania kodu aplikacji. odsłon dingo mają również inny interfejs użytkownika, domyślnie. dingo zawiera szablony wymiana administratora, które pokazują, jak przyciski widoki dingo w górnej części prawej strony listy zmian i zmieniać widoki formularzy.
Dodawanie Wyświetleń
Jeżeli chcesz korzystać z dingo dodać widoki modelu lub obiektu admin danego modelu, można je zdefiniować albo jako funkcji lub metod na ModelAdmin.
Na przykład, aby określić widok jako funkcję:
dingo importowe
dingo_test.models importowe
@ Dingo.object_view (dingo_test.models.RstDocument)
@ Dingo.short_description ("Render")
def render (model_admin, wniosek, object_id):
& Nbsp; z django.shortcuts importu przekierowania
& Nbsp; dokument = dingo_test.mdoels.RstDocument.objects.get (id = object_id)
& Nbsp; return odpowiedzi ()
Sam widok może być również sposobem na ModelAdmin:
Klasa RstDocumentAdmin (ModelAdmin):
& Nbsp; @ dingo.object_view (dingo_test.models.RstDocument)
& Nbsp; @ dingo.short_description ("Render")
& Nbsp; def renderowanie (self, żądania, object_id):
& Nbsp; karnet
Należy zauważyć, że użycie dekoratora short_description określa znacznik używany w interfejsie użytkownika administratora, a opcjonalnie w tym przypadku. Jeśli opis nie jest, dingo sformatuje nazwę funkcji lub metody, podobny do sposobu formatowania Django domyślnych nazw modeli verbose.
Dodawanie widoków do aplikacji innych firm
Tak długo, jak dingo jest wymieniony w INSTALLED_APPS przed django.contrib.admin, oparte na przykład funkcja wyżej zadziała zgodnie z oczekiwaniami. Należy pamiętać, że kod musi być importowane w celu zapewnienia, że rejestracja nastąpi odpowiednio
Opis .
- Łatwe tworzenie nowych widoków na swoim Model Admin, albo na poziomie modelu lub obiektu.
- wstrzyknąć dostosowania do deklaracji admin aplikacji firm trzecich bez modyfikowania oryginalnego kodu bazowego.
Wymagania :
- Python
Komentarze nie znaleziono