• Django中admin站点


    在admin.py中注册可以通过后台操作的模型

    from django.contrib import admin

    # Register your models here.
    from user.models import BookInfo, HeroInfo


    #
    # 子类TabularInline:以表格的形式嵌入。
    class HeroInfoTabular(admin.TabularInline):
    # 关联模型的额名字
    model = HeroInfo

    # 编辑的 个数
    extra = 1


    #
    # 子类TabularInline:以表格的形式嵌入。
    class HeroInfoStack(admin.StackedInline):
    # 关联模型的额名字
    model = HeroInfo

    # 编辑的 个数
    extra = 1


    # 子类StackedInline:以块的形式嵌入。

    # 自定义 Admin管理器对象 Manager
    class BookInfoAdmin(admin.ModelAdmin):
    # 列操作

    # 1. 显示哪些字段
    # 看源码是调用__str__方法 所以在模型类中自定义date_time这个方法
    list_display = ['id', 'btitle', 'bpub_date', 'date_time']

    # 2. 每页显示的个数 100
    list_per_page = 2

    # 3. 操作选项的位置
    actions_on_top = True
    actions_on_bottom = True

    # 5. 搜索框
    search_fields = ['btitle']

    # 6. 自定义列的名字 方法列
    # 7. 关联对象

    # 修改编辑页面的样式!
    # 1.显示字段
    # fields = ['btitle','bpub_date']
    # 2. 分组显示
    fieldsets = (
    ('必传', {'fields': ['btitle', 'bpub_date', 'image']}),
    ('选填', {
    'fields': ['bread', 'bcomment'],
    # 折叠样式
    'classes': ('collapse',),

    }),
    )

    # 3. 关联对象-- 块 和表 填写书本信息 填写对应的英雄
    inlines = [HeroInfoTabular]
    # inlines = [HeroInfoStack]

    pass


    # 多继承
    admin.site.register(BookInfo, BookInfoAdmin)


    # 装饰器
    @admin.register(HeroInfo)
    class HeroInfoAdmin(admin.ModelAdmin):
    list_display = ['id', 'hname', 'hbook', 'read']
    # 4. 右侧过滤器
    list_filter = ['hgender']

    pass


    # 站点 首页 设置
    admin.site.site_header = '我的书城'
    admin.site.site_title = '我的书城MIS'
    admin.site.index_title = '欢迎'







  • 相关阅读:
    js 带表情的评论输入框问题
    js 元素到指定的相对定位的父元素的距离
    html分享QQ,微信,显示分享图片,标题,简介
    网络空间安全0x01志向
    优秀的前端
    float探究
    转载的。。。
    判断有木有环
    居中(纯css方式)
    一个闭包的很好的考题, 闭包+递归
  • 原文地址:https://www.cnblogs.com/ls1997/p/12734777.html
Copyright © 2020-2023  润新知