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 (可选)

前端安装

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

# 进入前端目录
cd web

# 安装依赖
yarn install

# 启动服务
yarn run dev

后端安装

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

在线体验

特色优势

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

总结

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

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

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

参考资源

相关推荐
u0109147604 小时前
CSS组件库如何快速扩展_通过Sass @extend继承基础布局
jvm·数据库·python
baidu_340998824 小时前
Golang怎么用go-noescape优化性能_Golang如何使用编译器指令控制逃逸分析行为【进阶】
jvm·数据库·python
m0_678485454 小时前
如何利用虚拟 DOM 实现无痕刷新?基于 VNode 对比的状态保持技巧
jvm·数据库·python
qq_342295824 小时前
CSS如何实现透明背景效果_通过RGBA色彩模式控制透明度
jvm·数据库·python
TechWayfarer4 小时前
知乎/微博的IP属地显示为什么偶尔错误?用IP归属地查询平台自检工具3步验证
网络·python·网络协议·tcp/ip·网络安全
Greyson14 小时前
CSS如何处理超长文本换行问题_结合word-wrap属性
jvm·数据库·python
码事漫谈4 小时前
大模型输出的“隐性结构塌缩”问题及对策
前端·后端
justjinji4 小时前
如何批量更新SQL数据表_使用UPDATE JOIN语法提升效率
jvm·数据库·python
小江的记录本4 小时前
【网络安全】《网络安全常见攻击与防御》(附:《六大攻击核心特性横向对比表》)
java·网络·人工智能·后端·python·安全·web安全
贵沫末4 小时前
python——打包自己的库并安装
开发语言·windows·python