Django默认后台管理

  • 创建管理员用户名和密码

    python manage.py createsuperuser

  • 注册模型类

    admin.py

    admin.site.register(模型类)

  • 定义模型管理类

    admin.py class 模型类Admin(admin.ModelAdmin):

    • 注册

      admin.site.register(模型类,模型管理类)

      @admin.register(模型类)

    • 定义每页显示条目数量

      list_per_page = 10

    • ‘操作选项’位置

      actions_on_top=True # 顶部显示

      actions_on_bottom=True # 底部显示

    • 显示自定义列

      list_display=[字段1, 字段2, ...,或有返回值方法名]

      有返回值方法定义在模型类中:

      def t(self): return self.title

      t.admin_order_field='title' # 添加方法的排序功能

    • 列标题

      模型类中:

      title.short_description='自定义列标题'

    • 过滤器

      list_filter=['字段']

    • 搜索框

      search_fileds=['字段']

    • 编辑页字段顺序调整

      fields=['字段2','字段1']

    • 分组显示

      fieldset=(('组1标题',{'fields':('字段1','字段2')}), ('组2标题',{'fields':('字段3','字段4')}),)

  • 修改默认显示对象

    模型类:

    def __str__(self): return self.字段.encode('utf-8')

  • 编辑页显示关联对象

    • InlineModelAdmin:表示在模型的编辑页面潜入关联模型的编辑
    • TabularInline: 以表格的形式嵌入
    • StackedInline: 以块的形式嵌入
    
    # admin.py
    
    class 模型类StackedInline(admin.StackedInline):
        model=子对象模型类名
        extra=2   # 额外编辑子对象个数
    
    class 模型管理类(admin.ModelAdmin):
        inlines = [嵌入编辑类(上边类名)]

你可能感兴趣的:(django)