01. xadmin表单的自定义布局

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()

猜你喜欢

转载自www.cnblogs.com/jiangzongyou/p/12018297.html
01.