如何快速搭建Django-Vue3-Admin:5分钟上手RBAC权限系统
Django-Vue3-Admin是一个基于RBAC(基于角色的访问控制)模型的全面基础开发平台,支持列级粒度的权限控制。它采用前后端分离架构,让开发者能够快速构建安全、灵活的管理系统。本文将带你5分钟内完成环境搭建,轻松上手这个强大的RBAC权限系统。
📋 准备工作:一键获取项目源码
首先,通过Git克隆项目仓库到本地:
git clone https://gitcode.com/gh_mirrors/dj/django-vue3-admin
cd django-vue3-admin
项目采用Docker容器化部署方案,所有服务配置已预先定义在docker-compose.yml中,包含Django后端、Vue3前端、MySQL数据库、Redis缓存和Celery任务队列等核心组件。
图:Django-Vue3-Admin系统架构示意图,展示了前后端分离的RBAC权限控制体系
⚡ 极速部署:3步启动完整系统
1️⃣ 配置环境变量
复制环境变量示例文件并修改数据库密码:
cp backend/conf/env.example.py backend/conf/env.py
编辑backend/conf/env.py文件,设置MYSQL_PASSWORD和REDIS_PASSWORD等关键配置。
2️⃣ 启动Docker容器集群
执行项目根目录下的初始化脚本,自动构建并启动所有服务:
./init.sh
该脚本会调用Docker Compose根据docker-compose.yml配置,依次启动:
- dvadmin3-web: Vue3前端服务(8080端口)
- dvadmin3-django: Django后端API(8000端口)
- dvadmin3-mysql: 数据库服务(3306端口)
- dvadmin3-redis: 缓存服务(6379端口)
- dvadmin3-celery: 异步任务处理服务
3️⃣ 初始化系统数据
进入Django容器执行数据库迁移和初始数据加载:
docker exec -it dvadmin3-django python manage.py migrate
docker exec -it dvadmin3-django python manage.py init
初始数据包含默认管理员账户(admin/admin123)和基础RBAC权限模型数据,位于dvadmin/system/fixtures/目录下。
🔑 开始使用:访问与权限配置
登录系统
打开浏览器访问http://localhost:8080,使用默认账号密码登录系统。登录界面采用现代化设计,支持多语言切换和记住密码功能。
核心功能模块
系统预置了完整的RBAC权限管理功能,主要模块包括:
- 用户管理:backend/dvadmin/system/views/user.py
- 角色管理:backend/dvadmin/system/views/role.py
- 菜单管理:backend/dvadmin/system/views/menu.py
- 权限配置:backend/dvadmin/system/views/role_menu_button_permission.py
权限粒度控制
Django-Vue3-Admin支持精细化的权限控制,包括:
- 菜单级权限:控制用户可见的菜单
- 按钮级权限:控制页面操作按钮的显示
- 列级权限:控制数据表格中列的可见性,实现真正的"数据脱敏"
🛠️ 常见问题解决
服务启动失败?
检查Docker服务是否正常运行,或查看容器日志定位问题:
docker logs dvadmin3-django
docker logs dvadmin3-web
忘记管理员密码?
通过Django命令重置密码:
docker exec -it dvadmin3-django python manage.py changepassword admin
如何添加自定义权限?
- 在models.py中定义新的权限模型
- 运行
python manage.py makemigrations生成迁移文件 - 执行
python manage.py migrate应用数据库变更 - 在前端权限管理界面配置新权限
📚 进阶学习资源
项目提供了丰富的扩展能力,你可以通过以下路径探索更多功能:
- 插件开发:plugins/
- 系统配置:backend/dvadmin/system/views/system_config.py
- API文档:启动后访问
http://localhost:8000/swagger/
通过本文的快速搭建指南,你已经掌握了Django-Vue3-Admin的基础部署和使用方法。这个强大的RBAC权限系统不仅能满足企业级应用的安全需求,其灵活的架构设计也为二次开发提供了极大便利。现在就开始你的权限管理系统开发之旅吧!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



