2011-10-21 36 views
9

tôi muốn hiển thị thanh bên bổ sung trong chỉ mục quản trị django của mình. Tôi đã tạo templates/admin/index.html và nó hiển thị. Bây giờ tôi cần một số dữ liệu từ mô hình. Để thực hiện điều này, tôi đã tạo ra chức năng chỉ số trong file admin/views.pyLàm cách nào để mở rộng chế độ xem quản trị django?

def index(request): 
    var = 'var' 
    return render_to_response('admin/index.html', {'var': var}) 

Nếu không có chức năng này, tôi có lỗi ViewDoesNotExist.

Tuy nhiên, mẫu không phản ứng với biến mẫu này 'var'. Hơn nữa, ứng dụng của tôi không hiển thị trong chỉ mục. Tôi chỉ có ứng dụng auth.

Tôi nghĩ rằng tôi đang ghi đè lên chức năng chỉ mục dạng xem quản trị viên. Làm thế nào để ghi đè đúng chức năng này?

Trả lời

2

Xem xét sử dụng Công cụ quản trị django https://bitbucket.org/izi/django-admin-tools/wiki/Home

sau đó bạn nhận các lệnh như manage.py customdashboard, manage.py custommenu v.v.

Thậm chí, nó còn có chức năng đánh dấu trang để chuyển nhanh đến một số trang hoặc đối tượng nhất định.

8

Thay vì ghi đè lên quan điểm hoàn toàn, bạn có thể thêm logic để các quan điểm trong ModelAdmin của bạn (admin.py) lớp:

https://docs.djangoproject.com/en/dev/ref/contrib/admin/#other-methods

để ví dụ:

class MyAdmin(admin.ModelAdmin) 
    ... 
    def add_view(self, request, form_url='', extra_context=None): 
     # Do some extra queries that will get passed to the template 
     c = {'x':SomeModel.objects.all()} 
     super(MyAdmin, self).add_view(request, extra_context=c) 
+1

Ý tưởng hay nhưng: add_view - "Chế độ xem Django cho trang bổ sung mẫu của mô hình". Tôi muốn truy cập dữ liệu trên trang chỉ mục không có phương pháp index_view – motivast

Các vấn đề liên quan