ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Django框架文件解析--admin.py

2019-09-09 15:52:36  阅读:241  来源: 互联网

标签:register btitle admin fields py list site Django


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
#
# '''

 

标签:register,btitle,admin,fields,py,list,site,Django
来源: https://www.cnblogs.com/jrri/p/11492113.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有