# django-vue3-admin
**Repository Path**: XIE7654/django-vue3-admin
## Basic Information
- **Project Name**: django-vue3-admin
- **Description**: django vue3 ts admin vben fastapi langchain 💻 Python 开发者 | 擅长 Django, Vue, REST API, FastAPI, 数据处理
🔍 寻找远程/全职 Python 岗位机会
WX JUN765462425
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 6
- **Forks**: 2
- **Created**: 2025-07-09
- **Last Updated**: 2025-12-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。
# 项目简介
本项目为基于 Django5 + Vue3(vben-admin)全栈开发的企业级中后台管理系统,支持动态菜单、按钮权限、自动化代码生成、前后端权限联动等功能,适用于多角色、多权限场景的管理后台。
新增 ai_service 子项目,基于 FastAPI 实现,集成了 AI 对话能力,支持接入 DeepSeek 等大模型,实现智能对话、知识问答等功能,可灵活扩展多种 AI 场景。
## 在线体验
- admin/admin123
- chenze/admin123
体验地址:https://demo.ywwuzi.cn
文档地址:https://docs.ywwuzi.cn
## 功能截图
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
## 后端启动
0. 修改数据库配置:
打开 backend/backend/settings.py,找到 DATABASES,根据实际情况修改数据库连接信息(如主机、端口、用户名、密码、数据库名等)。
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django_vue',
'USER': 'root',
'PASSWORD': '',
'HOST': 'localhost',
}
}
```
1. 进入 backend 目录:
```bash
cd backend
```
2. 安装依赖:
```bash
pip install -r requirements.txt
```
3. 导入数据库(默认 MySQL):
```bash
# 先在 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
```
sql 文件位于 sql/django_vue.sql。
如需更换数据库类型,请修改 backend/backend/settings.py 中的数据库配置。
4. 启动服务:
```bash
python manage.py runserver
```
## (可选)Django 项目中启动 Celery 的标准方法如下:
### Celery 任务队列与监控
### 启动 Celery Worker

```bash
celery -A backend worker -l info
```
### 启动 Celery Beat(如有定时任务)
定时任务配置在 `backend/backend/settings.py` 的 `CELERY_BEAT_SCHEDULE`。
```python
CELERY_BEAT_SCHEDULE = {
'every-1-minutes': {
'task': 'system.tasks.sync_temu_order', # 任务路径
'schedule': 60, # 每1分钟执行一次
},
}
```
```bash
celery -A backend beat -l info
```
### 启动 Flower 监控
```bash
celery -A backend flower --port=5555 --basic_auth=admin:admin123
```
- `--port=5555`:指定 Flower 的访问端口(可自定义)
- `--basic_auth=用户名:密码`:设置访问 Flower 的账号密码(如 admin:admin123)
启动后,浏览器访问 [http://localhost:5555](http://localhost:5555) ,输入账号密码即可进入 Celery 任务监控界面。

---
# ai_service 启动说明
ai_service 是基于 FastAPI 的 AI 服务模块,支持本地开发和生产部署。
## 依赖安装
1. 进入 ai_service 目录:
```bash
cd ai_service
```
2. 安装依赖:
```bash
pip install -r requirements.txt
```
## 配置说明
- 数据库、API Key、模型等配置请参考 `ai_service/config.py`,`.env` 或相关环境变量。
- 如需自定义数据库等参数,请根据实际情况修改配置文件。
## 本地开发启动(推荐 uvicorn)
```bash
uvicorn main:app --reload --host 0.0.0.0 --port 8010
```
- `--reload`:支持热重载,开发环境建议开启。
- 默认访问地址:http://localhost:8010/docs 可查看自动生成的 API 文档。
## 生产部署(推荐 gunicorn + uvicorn worker)
```bash
gunicorn main:app -k uvicorn.workers.UvicornWorker --bind 0.0.0.0:8010 --workers 4
```
- `--workers`:根据服务器 CPU 核心数调整。
- 生产环境建议关闭 `--reload`。
---
## 前端启动(以 web-antd 为例)
> 说明:web-ele 目前暂不支持,待 InputPassword 等组件开发完毕后再兼容。
1. 进入前端目录:
```bash
cd web
```
2. 安装依赖:
```bash
pnpm install
```
3. 启动开发服务:
```bash
npm run dev:antd
```
# Docker 启动与部署
## 开发环境一键启动
1. 复制开发环境变量模板(如有):
```bash
cp docker/.env.example docker/.env.local
# 根据实际情况修改 docker/.env.local
```
2. 构建并启动所有开发服务:
```bash
docker compose -f docker-compose.dev.yml up -d --build
```
3. 关闭所有开发服务:
```bash
docker compose -f docker-compose.dev.yml down
```
> 如需自定义端口、数据库、Redis 密码等,请修改 `docker/.env.local` 文件。
## 生产环境一键启动
本项目支持一键 Docker 部署,推荐生产环境使用。
1. 复制环境变量模板:
```bash
cp docker/.env.example docker/.env.local
# 根据实际情况修改 docker/.env.local
```
2. 构建并启动所有服务:
```bash
docker compose -f docker-compose.prod.yml up -d --build
```
3. 关闭所有服务:
```bash
docker compose -f docker-compose.prod.yml down
```
如需自定义端口、数据库、Redis 密码等,请修改 docker/.env.local 文件。
## 阿里云 OSS 配置
### 启用 OSS 上传
1. 在 `docker/.env.prod` 中配置 OSS 参数:
```env
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
```
### 禁用 OSS 上传
将 `VITE_OSS_ENABLED` 设置为 `false` 或删除相关配置即可。
## 演示环境配置
### 启用演示模式
在 `docker/.env.prod` 中设置:
```env
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 指令
- 角色多对多、权限灵活分配
- 自动化脚本生成菜单与权限
- 通用权限校验,支持接口级、按钮级
- 登录日志、操作日志
- 支持多端适配与主题切换
- 代码生成器辅助开发