Django-AdminPlus เป็น app Django ซึ่งมีเป้าหมายที่จะขยายไปได้ที่เล็กที่สุดไปยังผู้ดูแลระบบ Django องค์ประกอบที่ยอดเยี่ยมที่ช่วยให้คุณสามารถเพิ่มมุมมองที่ผู้ดูแลระบบที่ไม่ได้ผูกติดอยู่กับรูปแบบ
มีแพ็กเกจออกมีเช่น Nexus และ Django ดูแลระบบเครื่องมือที่เข้ามาแทนที่ผู้ดูแลระบบทั้งหมดเป็น สนับสนุน Nexus เพิ่มใหม่ที่สมบูรณ์แบบ "โมดูล" (ผู้ดูแลระบบแบบ Django เป็นโมดูลเริ่มต้น) แต่ดูเหมือนว่าจะมีมากรหัสจานหม้อไอน้ำที่จะทำมัน Django ดูแลระบบเครื่องมือไม่ได้เท่าที่ผมสามารถบอกได้สนับสนุนการเพิ่มหน้าเว็บที่กำหนดเอง
AdminPlus ทั้งหมดนี้เป็นที่ช่วยให้คุณสามารถเพิ่มมุมมองกำหนดเองง่าย (ดีพวกเขาสามารถจะซับซ้อนเท่าที่คุณต้องการ!) โดยไม่สิเกี่ยวกับที่มี URL หักหลังและการให้เชื่อมโยงไปยังพวกเขาขวาในดัชนีผู้ดูแลระบบ
การติดตั้ง AdminPlus
คว้า AdminPlus จาก GitHub กับจุด:
PIP ติดตั้งคอมไพล์ -e: //github.com/jsocol/django-adminplus
ที่จะใช้ในโครงการ AdminPlus Django ของคุณคุณจะต้องแทนที่ django.contrib.admin.site ซึ่งเป็นตัวอย่างของ django.contrib.admin.sites.AdminSite ผมขอแนะนำให้ทำเช่นนี้ใน urls.py ขวาก่อนที่จะเรียก admin.autodiscover ():
# urls.py
จากผู้ดูแลระบบการนำเข้า django.contrib
จากการนำเข้า AdminPlus AdminSitePlus
admin.site = AdminSitePlus ()
admin.autodiscover ()
urlpatterns รูปแบบ = ('',
& nbsp; # ...
& nbsp; # รวม URL conf ดูแลตามปกติ
& nbsp; (R '^ ผู้ดูแลระบบ', รวมถึง (admin.site.urls))
& nbsp; # ...
)
ขอแสดงความยินดี คุณกำลังใช้ AdminPlus
การใช้ AdminPlus
ดังนั้นขณะนี้ที่คุณได้ติดตั้ง AdminPlus คุณจะต้องการที่จะใช้มัน AdminPlus เป็น 100% เข้ากันได้กับที่สร้างขึ้นในโมดูลผู้ดูแลระบบดังนั้นหากคุณได้รับการใช้ที่คุณไม่ควรจะต้องเปลี่ยนแปลงอะไร
AdminPlus มีฟังก์ชั่นใหม่ admin.site.register_view เพื่อแนบมุมมองโดยพลการให้ผู้ดูแลระบบ:
# someapp / admin.py
# สมมติว่าคุณได้แทนที่ django.contrib.admin.site ข้างต้น
จากผู้ดูแลระบบการนำเข้า django.contrib
def my_view (ขอ args *, ** kwargs):
& nbsp; ผ่าน
admin.site.register_view ('somepath', my_view)
# และแน่นอนนี้ยังคงทำงาน:
จากการนำเข้า MyModel someapp.models
admin.site.register (MyModel)
ตอนนี้ my_view จะสามารถเข้าถึงได้ที่ผู้ดูแลระบบ / somepath และจะมีการเชื่อมโยงไปในส่วนของมุมมองที่กำหนดเองของดัชนีผู้ดูแลระบบ
register_view ใช้เวลา 3 อาร์กิวเมนต์ตัวเลือก: ชื่อที่เป็นมิตรสำหรับการแสดงในรายการของมุมมองที่กำหนดเอง ตัวอย่างเช่น:
def my_view (ตามคำขอ)
& nbsp; "" "สิ่งที่ไม่แฟนซี!" ""
admin.site.register_view ('somepath', my_view 'แฟนซีของฉัน Admin ดู!')
. มุมมองที่ลงทะเบียนทั้งหมดจะถูกห่อใน admin.site.admin_view
ต้องการ
- หลาม
- Django
ความคิดเห็นที่ไม่พบ