本项目为基于 Django5 + Vue3(vben-admin)全栈开发的企业级中后台管理系统,支持动态菜单、按钮权限、自动化代码生成、前后端权限联动等功能,适用于多角色、多权限场景的管理后台。
新增 ai_service 子项目,基于 FastAPI 实现,集成了 AI 对话能力,支持接入 DeepSeek 等大模型,实现智能对话、知识问答等功能,可灵活扩展多种 AI 场景。
- admin/admin123
- chenze/admin123
AI对话![]() |
AI绘画![]() |
部门管理![]() |
用户管理![]() |
角色管理![]() |
岗位管理![]() |
菜单管理![]() |
前端界面![]() |
权限员工界面![]() |
本项目遵循 MIT License。 它是一个完全开源的快速开发平台,个人、团体使用免费,Django-Vue3-Admin 是一个基于 RBAC(基于角色的访问控制)模型进行权限控制的全面基础开发平台,权限控制粒度达到列级。它遵循前后端分离的架构,后端使用 Django 和 Django Rest Framework,前端使用 Vue3、Composition API、TypeScript、Vite 和 vben-admin(Ant Design Vue)。
python 版本 3.12
node 版本v22.17.0
- 修改数据库配置:
打开 backend/backend/settings.py,找到 DATABASES,根据实际情况修改数据库连接信息(如主机、端口、用户名、密码、数据库名等)。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'django_vue', 'USER': 'root', 'PASSWORD': '', 'HOST': 'localhost', }
}
1. 进入 backend 目录:
```bash
cd backend
- 安装依赖:
pip install -r requirements.txt
- 导入数据库(默认 MySQL):
sql 文件位于 sql/django_vue.sql。 如需更换数据库类型,请修改 backend/backend/settings.py 中的数据库配置。
# 先在 MySQL 中创建数据库(如 django_vue) mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS django_vue DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;" # 导入数据 mysql -u root -p django_vue < ../sql/django_vue.sql
- 启动服务:
python manage.py runserver
celery -A backend worker -l info
定时任务配置在 backend/backend/settings.py
的 CELERY_BEAT_SCHEDULE
。
CELERY_BEAT_SCHEDULE = {
'every-1-minutes': {
'task': 'system.tasks.sync_temu_order', # 任务路径
'schedule': 60, # 每1分钟执行一次
},
}
celery -A backend beat -l info
celery -A backend flower --port=5555 --basic_auth=admin:admin123
--port=5555
:指定 Flower 的访问端口(可自定义)--basic_auth=用户名:密码
:设置访问 Flower 的账号密码(如 admin:admin123)
启动后,浏览器访问 http://localhost:5555 ,输入账号密码即可进入 Celery 任务监控界面。
ai_service 是基于 FastAPI 的 AI 服务模块,支持本地开发和生产部署。
- 进入 ai_service 目录:
cd ai_service
- 安装依赖:
pip install -r requirements.txt
- 数据库、API Key、模型等配置请参考
ai_service/config.py
,.env
或相关环境变量。 - 如需自定义数据库等参数,请根据实际情况修改配置文件。
uvicorn main:app --reload --host 0.0.0.0 --port 8010
--reload
:支持热重载,开发环境建议开启。- 默认访问地址:http://localhost:8010/docs 可查看自动生成的 API 文档。
gunicorn main:app -k uvicorn.workers.UvicornWorker --bind 0.0.0.0:8010 --workers 4
--workers
:根据服务器 CPU 核心数调整。- 生产环境建议关闭
--reload
。
说明:web-ele 目前暂不支持,待 InputPassword 等组件开发完毕后再兼容。
- 进入前端目录:
cd web
- 安装依赖:
pnpm install
- 启动开发服务:
npm run dev:antd
- 复制开发环境变量模板(如有):
cp docker/.env.example docker/.env.local # 根据实际情况修改 docker/.env.local
- 构建并启动所有开发服务:
docker compose -f docker-compose.dev.yml up -d --build
- 关闭所有开发服务:
docker compose -f docker-compose.dev.yml down
如需自定义端口、数据库、Redis 密码等,请修改
docker/.env.local
文件。
本项目支持一键 Docker 部署,推荐生产环境使用。
- 复制环境变量模板:
cp docker/.env.example docker/.env.local # 根据实际情况修改 docker/.env.local
- 构建并启动所有服务:
docker compose -f docker-compose.prod.yml up -d --build
- 关闭所有服务:
docker compose -f docker-compose.prod.yml down
如需自定义端口、数据库、Redis 密码等,请修改 docker/.env.local 文件。
- 在
docker/.env.prod
中配置 OSS 参数:VITE_OSS_ENABLED=true VITE_OSS_REGION=oss-cn-hangzhou VITE_OSS_ACCESS_KEY_ID=your_access_key_id VITE_OSS_ACCESS_KEY_SECRET=your_access_key_secret VITE_OSS_BUCKET=your_bucket_name VITE_OSS_PREFIX=frontend/ VITE_OSS_DELETE_LOCAL=false
将 VITE_OSS_ENABLED
设置为 false
或删除相关配置即可。
在 docker/.env.prod
中设置:
DEMO_MODE=true
演示模式下:
- 全局禁止所有修改和删除操作(POST、PUT、PATCH、DELETE)
- 只允许登录、登出等基础操作
- 所有修改/删除请求将返回 403 错误
- 禁用 Django Admin 后台管理界面
- 适用于在线演示,防止数据被误操作
将 DEMO_MODE
设置为 false
或删除该配置即可正常使用所有功能,包括 Admin 后台。
- 后端:Django + Django REST framework
- 前端:Vue3 + Vite + vben-admin(Ant Design Vue)
- 数据库:默认 MySQL,可扩展为 PostgreSQL
- Python 3.12+
- Django 5.x
- Django REST framework
- Celery(可选,任务队列)
- 角色/菜单/按钮权限模型
- 自动化菜单/权限生成脚本
- Vue3
- Vite
- TypeScript
- Pinia(状态管理)
- Ant Design Vue
- vben-admin 组件库
- 动态路由与权限指令
- 动态菜单与多级路由,支持后端驱动
- 按钮级别权限控制,支持 v-permission 指令
- 角色多对多、权限灵活分配
- 自动化脚本生成菜单与权限
- 通用权限校验,支持接口级、按钮级
- 登录日志、操作日志
- 支持多端适配与主题切换
- 代码生成器辅助开发