drf day10

simpleui

1.前言:

​ 因为Django自带一个admin后台管理,所以很多公司都喜欢用这个基于这个二次开发,但是原生的admin后台太难看。所以就有些大佬写了美化插件

SIMPLEUI

​ 一个第三方美化admin后台管理的插件,国内比较流行,界面好看,基于vue写的

2.使用simpleui开发简单的增删改查:

1.安装一下simpleui
2.创建一下要用到的数据表,可以提前把双下str,还有表的verbose_name写一下
3.项目配置文件的注册那里,在最上面注册一下simpleui,然后去admin.py文件注册一下表
4.这样就看到admin后台界面已经大变样了,套了层好看的皮肤
官方教程文档:
https://simpleui.72wo.com/docs/simpleui/quick.html
自定义管理页面显示的字段名

​ 在admin中写

@admin.register(Book)
class Book(admin.ModelAdmin):
    list_display = ('nid', 'name', 'price', 'publish_date', 'publish')
# 然后模型层的字段的verbose_name记得一定要写    
# 注意多对多字段不能添加进来

自定义增加按钮
# 增加自定义按钮
    actions = ['have_fun', 'lets_dance']

    def have_fun(self, request, queryset):
        print('我被点击了')

    # 显示的文本,与django admin一致
    have_fun.short_description = '测试按钮'
    # icon,参考element-ui icon与https://fontawesome.com
    have_fun.icon = 'fas fa-audio-description'

    # 指定element-ui的按钮类型,参考https://element.eleme.cn/#/zh-CN/component/button
    have_fun.type = 'danger'

    # 给按钮追加自定义的颜色
    have_fun.style = 'color:black;'

    def lets_dance(self, request, queryset):
        pass
    lets_dance.short_description = '复制员工'

3.其他定制化

系统左侧定制层级菜单
系统配置文件里配置一下
menus是这个样子[{},{},{}]

SIMPLEUI_CONFIG = {
    'system_keep': False,
    'menu_display': ['图书管理系统', '用户权限认证', '大屏展示'],  # 开启排序和过滤功能, 不填此字段为默认排序和全部显示, 空列表[] 为全部不显示.
    'dynamic': True,  # 设置是否开启动态菜单, 默认为False. 如果开启, 则会在每次用户登陆时动态展示菜单内容
    'menus': [
        {
            'name': '图书管理系统',  # 这个是一个app,所以下面要指定一下app的名字!
            'app': 'app01',
            'icon': 'fas fa-code',  # 图标
            'models': [
                {  # 这是二级菜单可以是一个列表包一个个字典,就是点进去的
                    'name': '图书',
                    'icon': 'fa fa_user',
                    'url': 'app01/book/'  # 这是django内置的管理book的地址
                },
                {
                    'name': 'publish',
                    'icon': 'fa fa_user',
                    'url': 'app01/publish/'  # 这是django内置的管理publish的地址
                }]
        },

        {
            'name': '用户权限认证',
            'app': 'auth',
            'icon': 'fas fa-user-shield',  # 图标
            'models': [{  # 这是二级菜单可以是一个列表包一个个字典,就是点进去的
                'name': '用户',
                'icon': 'fa fa_user',
                'url': 'auth/user/'  # 这是django内置的管理auth user表的地址
            }]
        },

        {
            'name': '大屏展示',
            'app':'app01',
            'icon': 'fas fa-github',  # 图标
            'url': '/show/'

        }
    ]
}
左侧多级菜单镶嵌页面
自己去写一个fbv路由,写一个页面,这样就可以在左边菜单栏中点一下进入自己写的网页   
    {
        'name': '大屏展示',
        'app':'app01',
        'icon': 'fas fa-github',  # 图标
        'url': '/show/'  # 这个就是配置的路由

    }
按钮二次确认
have_fun.confirm =  '你是否执意要点击这个按钮?'
自定义LOGO(包括首页)
SIMPLEUI_LOGO = 'https://avatars2.githubusercontent.com/u/13655483?s=60&v=4'

超级管理员凌驾于RBAC之上,所以admin管理员是无敌的

posted @ 2023-02-13 20:25  yiwufish  阅读(31)  评论(0)    收藏  举报