zoukankan      html  css  js  c++  java
  • Django框架文件解析--admin.py

    from django.contrib import admin
    '''
    从django的contrib版本中调用admin包,
    contrib 贡献,供给 . 该包主要包含admin等自动化站点管理工具.
    
    '''
    from booktest.models import BookInfo,PicTest,Area
    '''
    需要在admin后台中显示哪些数据, 则相应从models中导入对应模型类用以调用数据
    '''
    
    
    # Register your models here.
    
    class BookInfoAdmin(admin.ModelAdmin):
        '''图书模型admin管理类'''
    
        list_per_page = 10  # 指定每页显示多少条信息
        list_display = ['btitle', 'bpublish', 'title']
        # list_display中不仅可以写模型类的属性, 也可以写模型类的方法
    
        # 指定下拉列表框的位置以及存在与否
        actions_on_top = False  # 上面的下拉列表开关设置
        actions_on_bottom = True  # 下面的下拉列表开关设置
    
        list_filter = ['btitle']  # 列表过滤栏设置指定过滤的['属性']
        search_fields = ['btitle']  # 搜索栏设置指定搜索属性['属性']
    
        # search_fields = True  # 搜索框的开关设置
    
        # fields = ['bpublish', 'btitle']  # fields 修改每个objects在admin中属性的排列顺序
        fieldsets = (  # fieldsets 设置组, 在组内放入属性分类.
            ('基本',{'fields':['btitle']}),
            ('高级',{'fields':['bpublish']})
    
        )
    
        # ## fields 和 fieldsets 两个通常情况下只选择一个使用.
    
    
        # 嵌套和关联子对象, 父对象,的时候, 不论使用块嵌套还是表格嵌套.
            # 1. 创建嵌套对象, 声明嵌套类型以及额外编辑数量:
    
            #         class BookStackedInline(admin.StackedInline):
            #             model = AreaInfo  # 关联子对象
            #             extra = 2  # 额外编辑2个子对象
    
            # 2. 然后在需要关联的相关Admin类后增加  inline = [上方定义的关联类] :
                    # inlines = [BookStackedInline]
    
    
    
    class AreaAdmin(admin.ModelAdmin):
        list_display = ['areaName', 'aParent']
    # '''
    # 自定义admin自动化管理工具, 要改写admin中的ModelAdmin(模型_管理)的参数.
    # 修改列表显示, 则更改list_display中的列表内容.
    # '''
    
    
    
    admin.site.register(BookInfo,BookInfoAdmin)
    admin.site.register(PicTest)
    admin.site.register(Area,AreaAdmin)
    
    # '''
    # 用admin包内的site站点模块, 使用register注册方法, 注册从模型中导入的模型类(单个).
    #
    # admin.site.register(BookInfo,HeroInfo)
    # 不可同时传入两个参数, 避免后续自定义显示出错
    # TypeError: check() takes 1 positional argument but 2 were given
    #
    # '''
  • 相关阅读:
    HDU 2822 Dogs【两次bfs】
    HDU 2819 Swap【二分图|启发题】
    HDU 2818 Building Block【并查集+根节点偏移量】
    HDU 2817 A sequence of numbers【水题|快速幂】
    Linux内核分析--操作系统是如何工作的
    讲座感想
    用eclipse开发和调试postgresql-8.4.1
    Ubuntu 14.04下翻译软件的安装与比较
    Linux下autoconf和automake使用
    github 使用网址
  • 原文地址:https://www.cnblogs.com/jrri/p/11492113.html
Copyright © 2011-2022 走看看