xadmin表單的自定義布局(重寫 get_form_layout())

apps.courses.adminx.py class NewCoursesAdmin(object): list_display = ['name', 'desc', ...] search_fields = ['name', 'desc', ... ] list_filter = ['name', 'teacher__name', 'desc', ... ] def get_form_layout(self): # self.org_obj指的是,僅當修改的時候才采用本設置,新建還是老樣式 if self.org_obj: self.form_layout = ( Main( Fieldset('講師信息', 'teacher', 'course_org', # 不給當前區域取名 css_class='unsort no_title' ), Fieldset('基本信息', 'name', 'desc', # 對較短的字段,可用Row()讓它們在一行內顯示 Row('learn_times', 'degree'), Row('category', 'tag'), 'youneed_know', 'teacher_tell', 'detail', ), ), # 右側,側邊欄 Side( Fieldset('訪問信息', # 'fav_nums', 'click_nums', 'students', 'add_time', ), ), Side( Fieldset('選擇信息', 'is_banner', 'is_classics', ), ), ) # print(self.__class__.__mro__) 可以查看當前的mro順序,看下一個類是什么 return super(NewCoursesAdmin, self).get_form_layout()
完成后示意圖

沒有歸類的將會被放在"其它字段中"