美文网首页
Django 学习日记 - Admin - setp11

Django 学习日记 - Admin - setp11

作者: Spareribs | 来源:发表于2017-02-15 16:44 被阅读100次

    django admin是django自带的一个后台app,提供了后台的管理功能。

    1 ModelAdmin

    管理界面的定制类,如需扩展特定的model界面需要从该类继承

    2 注册model类到admin的两种方式

    1. 使用register的方法
    2. 使用register的装饰器

    3 掌握一些常用的设置技巧

    list_display:指定要显示的字段
    search_fields:指定搜索的字段
    list_filter:指定列表过滤器
    ordering:指定排序字段
    fields\exclude:指定编辑表单需要编辑\不需编辑的字段
    fieldsets:设置分组表单

    4 测试

    4.1 admin.py代码

    # ==============================
    # models.py的代码
    class Publisher(models.Model):
        name = models.CharField(max_length=30, verbose_name="出版社名称")
        address = models.CharField("地址", max_length=50)
        city = models.CharField("城市", max_length=60)
        state_province = models.CharField("省份", max_length=30)
        country = models.CharField("国家", max_length=50)
        website = models.URLField("网址", )
    
        class Meta:
            verbose_name = '出版社'
            verbose_name_plural = verbose_name
    
        def __str__(self):
            return self.name
    
    # ==============================
    # admin.py的代码
    from django.contrib import admin
    from hello.models import *
    
    # Register your models here.
    @admin.register(Publisher)
    class PublsherAdmin(admin.ModelAdmin):
        list_display = ('name', 'country', 'state_province', 'city', 'country')
        search_fields = ('name', 'city')
        list_filter = ('state_province',)
        ordering = ('-id',)
        # fields = ('name','address')
        exclude = ('country',)
        fieldsets = (
            (None, {
                'fields': ('name', 'address')
            }),
            ('拓展选项', {
                'classes': ('collapse',),
                'fields': ('city', 'state_province', 'website'),
            }),
        )
    
    # admin.site.register(Publisher, PublsherAdmin)
    
    

    4.2 Publisher的admin展示

    • search_fields:方框1,可以搜索出版社名称和城市
    • list_display:方框3,显示出版社名称、国家、省份、城市
    • list_filter:方框2,过滤条件为省份
    • ordering:方框4,以id降序排序
      出版社的详情页面
    • exclude:添加或者修改不显示的内容
    • fieldsets:方框5和6,设置选填的拓展选项
      添加新出版社的页面
      修改出版社的页面

    Django 1.9:官方文档 - admin后台设置

    相关文章

      网友评论

          本文标题:Django 学习日记 - Admin - setp11

          本文链接:https://www.haomeiwen.com/subject/ntvtwttx.html