第九节:Vben Admin实战-系统管理之角色管理实现-上

系列文章目录

第一节:Vben Admin介绍和初次运行
第二节:Vben Admin 登录逻辑梳理和对接后端准备
第三节:Vben Admin登录对接后端login接口
第四节:Vben Admin登录对接后端getUserInfo接口
第五节:Vben Admin权限-前端控制方式
第六节:Vben Admin权限-后端控制方式
第七节:Vben Admin权限-后端获取路由和菜单
第八节:Vben Admin登录页面自定义

专栏链接
Vben Admin框架实战(Python后端)


前言

之前的章节,主要侧重对Vben Admin的了解,后端代码主要是模拟的Json数据,从本节开始,我们要侧重后端的代码,结合数据库进行系统权限的管理。本节主要介绍角色管理模块的增删改查。


一、目标效果

本节,我们要修改适配Vben Admin的角色管理的页面,后端开发接口满足Vben Admin角色管理(增,删,改,查)的功能。

截图如下:
在这里插入图片描述

二、初始化数据库

我们这里使用了Flask的Flask-SQLAlchemyORM框架。
ORM框架屏蔽了底层数据库的操作,提供了一个python编程接口,使得开发者可以直接使用python代码操作数据库,而不是直接操作SQL语句。

1.创建模型

这里我们创建一个Role模型,对应的是role表。之前我们曾经创建过一个User模型,对应用户表。用户表的role_code字段和角色表的role_code字段对应。传送门:
第三节:Vben Admin登录对接后端login接口

# 角色表
class Role(db.Model):
    __tablename__ = 'role'
    id = db.Column(db.Integer,primary_key=True,autoincrement=True)
    role_code = db.Column(db.String(100),nullable=False)
    role_name = db.Column(db.String(100),nullable=False)
    role_describe = db.Column(db.String(200),nullable=False)
    status = db.Column(db.SmallInteger,default='1')  #状态 1:有效 0:无效

    def __init__(self,role_code,role_name,role_describe,status):
        self.role_code = role_code
        self.role_name = role_name
        self.role_describe = role_describe
        self.status = status

2.迁移模型

(RabbitENV3.9) [root@work rabbit-blog]# flask --app apps db migrate -m 'RBAC'
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.autogenerate.compare] Detected added table 'role'
(RabbitENV3.9) [root@work rabbit-blog]# flask --app apps db upgrade
INFO  [alembic.runtime.migration] Context impl MySQLImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
INFO  [alembic.runtime.migration] Running upgrade 13b2f5df9463 -> 0f238ea80183, RBAC


迁移完成后,我们可以查看数据库状态,如图,role表已经自动创建完成了。

在这里插入图片描述


三、Vben Admin 角色管理

1、菜单创建

第七节,我们曾经介绍过,后端代码如何返回前端菜单。
传送门:
第七节:Vben Admin权限-后端获取路由和菜单
本节我们还是先通过第七节的方式,先通过接口返回系统管理的菜单。在专栏的最后,菜单也回通过数据库管理。
这里我们创建一个SystemRouter,显示系统管理菜单
在这里插入图片描述

# 获取用户菜单
@bp

相关推荐

  1. Vben Admin实战-系统管理用户管理-(12

    2024-03-18 13:36:07       14 阅读
  2. 十三节:Vben Admin实战-系统管理菜单管理

    2024-03-18 13:36:07       11 阅读
  3. 十章 函数 ()第一-

    2024-03-18 13:36:07       25 阅读
  4. PyQt5实现学生管理系统三天(下)

    2024-03-18 13:36:07       44 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-18 13:36:07       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-18 13:36:07       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-18 13:36:07       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-18 13:36:07       20 阅读

热门阅读

  1. 前端 - 管理后台自定义侧边导航栏

    2024-03-18 13:36:07       23 阅读
  2. web开发模式

    2024-03-18 13:36:07       24 阅读
  3. 前端系统设计个人总结

    2024-03-18 13:36:07       20 阅读
  4. API安全集成最佳实践:有效应对安全挑战

    2024-03-18 13:36:07       21 阅读
  5. 【 React 】React 中的setState执行机制

    2024-03-18 13:36:07       24 阅读
  6. 利用自带文字提取工具,使工作提效

    2024-03-18 13:36:07       19 阅读