2009-09-17 29 views
10

Cố gắng hiểu Django Admin tốt hơn một chút, nhưng tôi thấy tài liệu Django hơi thiếu đôi khi (hoặc có lẽ khả năng của tôi để hiểu).Django Admin Fieldsets

Tôi biết bạn có thể sử dụng các trường để kiểm soát bố cục của một số trang quản trị nhất định. Những gì tôi không thể dường như nắm bắt là những gì các tên fieldset được.

Nếu tôi có lớp sau

Class Demo(model.Model): 
    name = models.CharField(max_length=150) 
    address = models.CharField(max_length=150) 
    city = models.CharField(max_length=50) 
    zip = models.CharField(max_length=15) 

và và lớp Quản trị như sau

Class DemoAdmin(admin.ModelAdmin): 
    list_display = ('name', 'City') 

Trong này, mặc dù dụ giả tạo, những gì fieldsets thể có thể tôi sử dụng không?

+0

Bạn có thể muốn có một mô hình phức tạp hơn trước khi bạn đi xuống con đường của các trường. Cá nhân, tôi nghĩ rằng tài liệu của các lĩnh vực là khá tốt: http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.fieldsets –

+0

Tôi sẽ đồng ý nó sẽ là phù hợp hơn với mô hình phức tạp hơn. Đây không phải là mô hình thực tế của tôi. Đối với các tài liệu hướng dẫn .. tôi đã không thể tìm thấy bất cứ điều gì thực sự cho bạn biết những gì các tên fieldset là ... tức là tất cả các tên biến trở thành tên fieldset .. các trường "buitl-in" được gọi là gì? – Consiglieri

+0

Tôi nghĩ rằng bạn đã hiểu lầm những gì là các lĩnh vực. Đó chỉ là một cách để bạn có thể nhóm các trường trên Trang quản trị mô hình. Chỉ cần thực hiện ví dụ trong tài liệu và nó sẽ trở nên rõ ràng cho bạn. – orwellian

Trả lời

26

Hãy thử điều này và bạn sẽ sớm thấy giao diện của nó hoạt động như thế nào.

class DemoAdmin(admin.ModelAdmin): 
    list_display = ('name', 'city') 
    fieldsets = (
     ('Standard info', { 
      'fields': ('name') 
     }), 
     ('Address info', { 
      'fields': ('address', ('city', 'zip')) 
     }), 
    ) 

Khi bạn chuyển đến trang thay đổi để chỉnh sửa, bạn sẽ nhận được một hộp "thông tin chuẩn" với hộp tên. Và bạn sẽ nhận được một hộp khác có nội dung "thông tin địa chỉ" với trường địa chỉ trước, sau đó là thành phố và các trường zip trên cùng một dòng sau.

+0

Cảm ơn, hãy cho nó một sự rung động! – Consiglieri

+3

@Consiglieri Nếu nó hoạt động bình thường thì hãy nhấp vào nút "câu trả lời được chấp nhận" :) –

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