Django-adminplus ay isang Django app na naglalayong maging sa pinakamaliliit na posibleng extension sa mahusay na Django admin bahagi na nagbibigay-daan sa iyo magdagdag ng admin tanawin na hindi nakatali sa mga modelo.
Walang mga pakete out doon, tulad ng Nexus at Django-admin-mga tool na palitan ang buong admin. Nexus sinusuportahan ng pagdaragdag ng ganap na bagong "module" (ang Django modelo ng admin ay isang default na module) ngunit tila ng maraming boiler plate code upang gawin ito. Django-admin-tool hindi, kasing layo ng maaari kong sabihin, suporta sa pagdaragdag ng pasadyang mga pahina.
Lahat ng AdminPlus ay naka-daan sa iyo upang magdagdag ng mga simpleng mga pasadyang view (na rin, maaari silang maging kasing kumplikado ang hangga't gusto mo!) Nang walang mucking tungkol sa pagha-hijack URL, at nagbibigay ng mga link sa mga ito sa index ng admin.
Pag-install ng AdminPlus
Mang-agaw AdminPlus mula sa github na may buto ng bungang-kahoy:
buto ng bungang-kahoy-install ng Git -e: //github.com/jsocol/django-adminplus
Upang gamitin ang AdminPlus sa iyong proyekto Django, kakailanganin mong palitan ang django.contrib.admin.site, na isang halimbawa ng django.contrib.admin.sites.AdminSite. Inirerekumenda ko na gawin ito sa urls.py bago mismo ang pagtawag admin.autodiscover ():
# Urls.py
mula django.contrib pag-import ng admin
mula sa pag-import adminplus AdminSitePlus
admin.site = AdminSitePlus ()
admin.autodiscover ()
urlpatterns = pattern ('',
& Nbsp; # ...
& Nbsp; # Isama ang conf admin URL bilang normal.
& Nbsp; (r '^ admin', isama (admin.site.urls)),
& Nbsp; # ...
)
Binabati kita! Ngayon ginagamit mo AdminPlus.
Ang paggamit ng AdminPlus
Kaya ngayon na na-install mo AdminPlus, makikita mo nais na gamitin ito. AdminPlus ay 100% tugma sa ang built in na module admin, kaya kung napuntahan mo na gamit na, hindi mo kailangang baguhin ang anumang.
AdminPlus nag-aalok ng bagong pag-andar, admin.site.register_view, upang i-attach arbitrary tanawin sa admin:
# Someapp / admin.py
# Sa pag-aakala mo na pinalitan django.contrib.admin.site ng nasa itaas.
mula django.contrib pag-import ng admin
def my_view (kahilingan, * args, ** kwargs):
& Nbsp; pass
admin.site.register_view ('somepath', my_view)
# At siyempre, gumagana pa rin ito:
mula someapp.models MyModel pag-import
admin.site.register (MyModel)
Ngayon ay my_view maa-access sa admin / somepath at magkakaroon ng isang link papunta dito sa pasadyang mga pagtingin na seksyon ng index ng admin.
register_view tumatagal ng isang ika-3, opsyonal argumento: isang friendly na pangalan para sa display sa listahan ng mga pasadyang pagtingin. Halimbawa:
def my_view (kahilingan):
& Nbsp; "" "ba ng isang bagay magarbong!" ""
admin.site.register_view ('somepath', my_view, 'Aking Fancy Tingnan Admin!')
. Ang lahat ng mga rehistradong mga tanawin ay nakabalot sa admin.site.admin_view
Mga Kinakailangan :
- Python
- Django
Mga Komento hindi natagpuan