当前位置: 首页 > article >正文

Django-Vue3-Admin - 现代化的前后端分离权限管理系统

项目介绍

Django-Vue3-Admin是一个基于RBAC(Role-Based Access Control)模型的综合性基础开发平台,专注于权限控制,支持列级别的细粒度权限管理。该项目采用前后端分离架构,技术栈包括:

后端:

  • Django + Django REST Framework
  • SimpleJWT认证
  • 支持多端认证系统

前端:

  • Vue 3
  • Composition API
  • TypeScript
  • Vite
  • Element Plus

核心功能

  1. 菜单管理
  • 配置系统菜单
  • 操作权限管理
  • 按钮权限标识
  • 后端接口权限
  1. 部门管理
  • 配置组织架构(公司、部门、角色)
  • 灵活的部门层级管理
  1. 角色管理
  • 角色菜单权限分配
  • 数据权限分配
  • 基于部门的数据范围权限
  1. 权限控制
  • 按钮级权限控制
  • 接口权限控制
  • 数据范围授权
  • 字段列权限控制
  1. 系统功能
  • 用户管理
  • 白名单配置
  • 字典管理
  • 区域管理
  • 文件管理
  • 操作日志

项目结构

项目采用清晰的目录结构:

├── web/                    # 前端项目
├── backend/                # 后端项目
├── docker_env/             # docker配置
├── docker-compose.yml      # docker-compose配置
└── README.md              # 项目文档

前端结构

├── src/
│   ├── api/               # API接口
│   ├── components/        # 公共组件
│   ├── layout/           # 布局组件
│   ├── router/           # 路由配置
│   ├── store/            # 状态管理
│   └── views/            # 页面文件

后端结构

├── application/           # Django主应用
├── dvadmin/              # 系统功能模块
├── plugins/              # 插件目录
└── conf/                # 配置文件

安装部署

环境要求

  • Python >= 3.11.0 (最低3.9+)
  • Node.js >= 16.0
  • MySQL >= 8.0 (可选)
  • Redis (可选)

前端安装

# 克隆代码
git clone https://gitee.com/huge-dream/django-vue3-admin.git

# 进入前端目录
cd web

# 安装依赖
yarn install

# 启动服务
yarn run dev

后端安装

  1. 进入后端目录
cd backend
  1. 配置环境
  • 复制 conf/env.example.py 为 conf/env.py
  • 配置数据库信息
  1. 安装依赖
pip install -r requirements.txt
  1. 数据库迁移
python manage.py makemigrations
python manage.py migrate
  1. 初始化数据
python manage.py init
python manage.py init_area
  1. 启动服务
python manage.py runserver 0.0.0.0:8000

在线体验

  • 演示地址: http://demo.django-vue-admin.com
  • 账号: superadmin
  • 密码: admin123456

特色优势

  1. 完善的RBAC权限模型
  2. 细粒度的权限控制
  3. 清晰的项目结构
  4. 完整的开发文档
  5. 活跃的社区支持

总结

Django-Vue3-Admin是一个功能完善的现代化权限管理系统,适合作为中大型项目的基础框架。它的主要优势在于:

  • 采用主流的技术栈
  • 完善的权限控制体系
  • 清晰的项目结构
  • 丰富的基础功能
  • 详细的开发文档

无论是用于实际项目开发,还是学习前后端分离架构,都是一个很好的选择。

参考资源

  • 官方文档
  • GitHub仓库

http://www.kler.cn/a/416476.html

相关文章:

  • 53 基于单片机的8路抢答器加记分
  • MySql(面试题理解B+树原理 实操加大白话)
  • 如何在HarmonyOS NEXT中处理页面间的数据传递?
  • logminer挖掘日志归档查找问题
  • 深入理解Oracle DB的锁和闩
  • elementUI非常规数据格式渲染复杂表格(副表头、合并单元格)
  • LeetCode Hot100 1~10
  • 结构型模式-组合模式
  • RabbitMQ高级特性:TTL、死信队列与延迟队列
  • MySQL5.6升级MySQL5.7
  • v-model在h函数和jsx下应该如何写
  • Linux的web服务器
  • Node.js的url模块与querystring模块
  • 【AI日记】24.11.29 kaggle 比赛 Titanic-2 | 鼓励自己
  • AI生成式安全威胁:企业数据将如何被重新定义?
  • wordpress使用Markdown语法写的文章图片显示不正常,记录一次折腾之旅
  • 【vue3实现微信小程序】设置项目底部tab页面切换标签
  • 计算机网络——不同版本的 HTTP 协议
  • Webpack 的构建流程
  • 分布式储能监控系统为储能电站高效运维与精细化管理赋能