django-adminplus là một ứng dụng Django đó nhằm mục đích là mở rộng nhỏ nhất có thể để các thành phần quản trị Django tuyệt vời cho phép bạn thêm các quan điểm quản trị mà không gắn với mô hình.
Có gói trên mạng, như Nexus và django-admin-công cụ thay thế toàn bộ admin. Hỗ trợ thêm Nexus hoàn toàn mới "mô-đun" (mô hình quản trị Django là một module mặc định) nhưng có vẻ là rất nhiều lò hơi đang tấm để làm điều đó. django-admin-công cụ không, như xa như tôi có thể nói, hỗ trợ thêm các trang tùy chỉnh.
Tất cả AdminPlus làm là cho phép bạn thêm các tuỳ biến đơn giản (tốt, họ có thể phức tạp như bạn thích!) Mà không mucking về với URL không tặc, và cung cấp các liên kết đến chúng ngay trong chỉ mục admin.
Cài đặt AdminPlus
Grab AdminPlus từ github với pip:
pips cài đặt git -e: //github.com/jsocol/django-adminplus
Để sử dụng AdminPlus trong dự án Django của bạn, bạn sẽ cần phải thay thế django.contrib.admin.site, mà là một thể hiện của django.contrib.admin.sites.AdminSite. Tôi khuyên bạn nên làm điều này trong urls.py ngay trước khi gọi admin.autodiscover ():
# Urls.py
từ django.contrib nhập khẩu quản trị
từ adminplus AdminSitePlus nhập khẩu
admin.site = AdminSitePlus ()
admin.autodiscover ()
urlpatterns = mẫu ('',
& Nbsp; # ...
& Nbsp; # Bao gồm các conf URL admin như bình thường.
& Nbsp; (r '^ admin', bao gồm (admin.site.urls)),
& Nbsp; # ...
)
Xin chúc mừng! Hiện tại bạn đang sử dụng AdminPlus.
Sử dụng AdminPlus
Vì vậy, bây giờ mà bạn đã cài đặt AdminPlus, bạn sẽ muốn sử dụng nó. AdminPlus là 100% tương thích với xây dựng trong module admin, vì vậy nếu bạn đã từng sử dụng đó, bạn không cần phải thay đổi bất cứ điều gì.
AdminPlus cung cấp một chức năng mới, admin.site.register_view, chú quan điểm tùy ý với admin:
# Someapp / admin.py
# Giả sử bạn đã thay thế django.contrib.admin.site như trên.
từ django.contrib nhập khẩu quản trị
def my_view (yêu cầu, * args, ** kwargs):
& Nbsp; vượt qua
admin.site.register_view ('somepath', my_view)
# Và tất nhiên, điều này vẫn hoạt động:
từ someapp.models MyModel nhập khẩu
admin.site.register (MyModel)
Bây giờ my_view sẽ có thể truy cập vào admin / somepath và sẽ có một liên kết đến nó trong Custom Xem phần của chỉ số admin.
register_view mất 3, đối số tùy chọn: một tên thân thiện cho hiển thị trong danh sách các tuỳ biến. Ví dụ:
def my_view (yêu cầu):
& Nbsp; "" "Liệu điều gì đó lạ mắt!" ""
admin.site.register_view ('somepath', my_view, "Fancy My Admin View! ')
. Tất cả các điểm đăng ký được gói trong admin.site.admin_view
Yêu cầu :
- Python
- Django
Bình luận không