A Django-adminplus egy Django app amelynek célja, hogy a lehető legkisebb kiterjesztése a kiváló Django admin komponenst, amely lehetővé teszi hozzá admin nézetek, amelyek nem kötődnek a modellek.
Csomagok vannak odakint, mint a Nexus és a Django-admin-eszközök cserélni az egész admin. Nexus támogatja hozzátéve, teljesen új "modulok" (a Django modell admin egy alapértelmezett modul), de úgy tűnik, hogy egy csomó kazán lemez kódot kell csinálni. Django-admin-eszközök nem, amennyire én tudom, támogatást hozzátéve saját oldalakat.
Minden AdminPlus nem is lehetővé teszi hozzá egyszerű egyéni nézetek (nos, ők lehet olyan bonyolult, ahogy tetszik!) Nélkül mucking körül a repülőgép-eltérítés URL, valamint hivatkozásokat ad nekik jogot az admin index.
telepítése AdminPlus
Grab AdminPlus a GitHub a pip:
pip telepíteni -e git: //github.com/jsocol/django-adminplus
Ahhoz, hogy használni AdminPlus a Django projekt, akkor ki kell cserélni django.contrib.admin.site, amely egy példánya django.contrib.admin.sites.AdminSite. Én ajánlom ezt a urls.py jobb hívás előtt admin.autodiscover ():
# Urls.py
a django.contrib import admin
a adminplus import AdminSitePlus
admin.site = AdminSitePlus ()
admin.autodiscover ()
urlpatterns = minták ('',
& Nbsp; # ...
& Nbsp; # Tartalmazza az admin URL conf a szokásos módon.
& Nbsp; (r '^ admin ", többek között (admin.site.urls)),
& Nbsp; # ...
)
Gratulálunk! Te most a AdminPlus.
A AdminPlus
Tehát most, hogy már telepítve AdminPlus, akkor szeretnénk használni. AdminPlus 100% -ban kompatibilis a beépített admin modul, így ha már nem, hogy akkor nem kell változtatni semmit.
AdminPlus kínál egy új funkció, admin.site.register_view, hogy csatolja tetszőleges véleményét az admin:
# Someapp / admin.py
# Feltételezve, hogy már cserélni django.contrib.admin.site mint fent.
a django.contrib import admin
def my_view (kérésre, * args, ** kwargs):
& Nbsp; menetben
admin.site.register_view ("somepath", my_view)
# És persze, ez még mindig működik:
a someapp.models import MyModel
admin.site.register (MyModel)
Most my_view hozzáférhető lesz admin / somepath és lesz egy linket, hogy az egyéni nézetek szakaszában az admin index.
register_view vesz egy 3., opcionális argumentum: barátságos nevet kijelzőn a fenti egyéni nézeteket. Például:
def my_view (kérésre):
& Nbsp; "" "Vajon valami divatos!" ""
admin.site.register_view ("somepath", my_view, "My Fancy Admin!")
Minden regisztrált nézetek vannak burkolva admin.site.admin_view.
követelmények :
- Python
- Django
Hozzászólás nem található