Python Web-FastApi和Django开发的最强平台 ZQ-Platform
zq-platform 是一个功能完善的企业级后台管理系统解决方案,采用前后端分离架构。提供两种后端选择:Django 5.2 + Django Ninja 或 FastAPI + SQLAlchemy 异步 ORM,前端基于 Vue 3 + Vben Admin + Element Plus 打造现代化的管理界面。
zq-platform(芷青开发平台)
一个现代化的完全开源免费的企业级后台管理系统,提供 Django 和 FastAPI 双后端选择 + Vue3 + Element Plus 构建
演示链接(支持Django和FastApi)
https://django-ninja.zq-platform.cn
开源地址
https://github.com/jiangzhikj/zq-platform.git
📖 项目简介
zq-platform 是一个功能完善的企业级后台管理系统解决方案,采用前后端分离架构。提供两种后端选择:Django 5.2 + Django Ninja 或 FastAPI + SQLAlchemy 异步 ORM,前端基于 Vue 3 + Vben Admin + Element Plus 打造现代化的管理界面。
✨ 核心特性
-
🎯 完整的 RBAC 权限系统 - 用户、角色、权限、部门、岗位多维度权限控制
-
🔐 JWT 认证机制 - 安全的 Token 认证,支持 Access Token 和 Refresh Token
-
📊 系统监控 - 服务器监控、Redis 监控、数据库监控,实时掌握系统状态
-
📁 文件管理 - 完善的文件上传、下载、预览功能
-
📝 操作日志 - 详细的登录日志和操作审计
-
🗂️ 数据字典 - 灵活的字典管理,支持多级分类
-
⏰ 任务调度 - 基于 APScheduler 的定时任务管理
-
🔌 WebSocket 支持 - 实时通信能力
-
🌐 多数据库支持 - MySQL、PostgreSQL、SQL Server、SQLite
-
🎨 现代化 UI - 响应式设计,支持暗黑模式
-
📦 Monorepo 架构 - 基于 pnpm workspace 的前端工程化方案
🏗️ 技术栈
后端技术
Django 后端 (backend-django)
-
核心框架: Django 5.2.7
-
API 框架: Django Ninja 1.4.5 (高性能 API 框架)
-
认证: PyJWT 2.8.0
-
异步任务: Celery 5.4.0 + Django Celery Beat
-
任务调度: APScheduler 3.10.4
-
缓存: Redis + django-redis
-
WebSocket: Django Channels 4.2
-
数据库驱动: psycopg2-binary, pymysql, pyodbc
-
服务器: Uvicorn 0.38.0 / Gunicorn 23.0.0
-
其他: openpyxl, geoip2, psutil, cryptography
FastAPI 后端 (backend-fastapi)
-
核心框架: FastAPI 0.115+
-
ORM: SQLAlchemy 2.0+ (异步)
-
数据库: PostgreSQL 16+
-
迁移: Alembic
-
认证: JWT
-
缓存: Redis
-
Python: 3.12+
前端技术
-
核心框架: Vue 3.x
-
构建工具: Vite 5.x
-
UI 组件库: Element Plus
-
状态管理: Pinia
-
路由: Vue Router
-
HTTP 客户端: Axios
-
工具库: VueUse, dayjs, lodash-es
-
代码规范: ESLint, Prettier, Stylelint
-
包管理: pnpm 10.14.0
-
Monorepo: Turbo
📁 项目结构
zq-platform/ ├── backend-django/ # Django 后端 │ ├── application/ # 项目配置 │ ├── core/ # 核心业务模块 │ │ ├── auth/ # 认证授权 │ │ ├── user/ # 用户管理 │ │ ├── role/ # 角色管理 │ │ ├── permission/ # 权限管理 │ │ ├── dept/ # 部门管理 │ │ ├── post/ # 岗位管理 │ │ ├── menu/ # 菜单管理 │ │ ├── dict/ # 字典管理 │ │ ├── login_log/ # 登录日志 │ │ ├── file_manager/ # 文件管理 │ │ ├── server_monitor/ # 服务器监控 │ │ ├── redis_monitor/ # Redis 监控 │ │ ├── redis_manager/ # Redis 管理 │ │ ├── database_monitor/ # 数据库监控 │ │ └── database_manager/ # 数据库管理 │ ├── scheduler/ # 任务调度模块 │ ├── common/ # 公共模块 │ ├── env/ # 环境配置 │ ├── requirements.txt # Python 依赖 │ └── manage.py # Django 管理脚本 │ ├── backend-fastapi/ # FastAPI 后端(可选) │ ├── app/ # 核心应用模块 │ ├── core/ # 核心业务模块 │ ├── scheduler/ # 定时任务模块 │ ├── scripts/ # 工具脚本 │ ├── alembic/ # 数据库迁移 │ ├── env/ # 环境配置 │ ├── requirements.txt # Python 依赖 │ └── main.py # 应用入口 │ └── web/ # Vue 前端 (Monorepo) ├── apps/ │ └── web-ele/ # Element Plus 版本主应用 │ ├── src/ │ │ ├── api/ # API 接口 │ │ ├── views/ # 页面组件 │ │ ├── router/ # 路由配置 │ │ └── store/ # 状态管理 │ └── package.json ├── packages/ # 共享包 │ ├── @core/ # 核心包 │ ├── effects/ # 副作用包 │ ├── hooks/ # Hooks │ ├── icons/ # 图标 │ ├── locales/ # 国际化 │ ├── stores/ # 状态管理 │ └── utils/ # 工具函数 ├── internal/ # 内部工具 └── package.json # 根配置
🚀 快速开始
环境要求
-
后端
-
Python >= 3.10
-
MySQL >= 5.7 / PostgreSQL >= 12 / SQL Server / SQLite
-
Redis >= 5.0
-
-
前端
-
Node.js >= 20.10.0
-
pnpm >= 9.12.0
-
后端安装
选项 1: Django 后端(推荐用于生产环境)
-
克隆项目
git clone https://github.com/jiangzhikj/zq-platform.git cd zq-platform/backend-django
-
创建虚拟环境
python -m venv venv source venv/bin/activate # Linux/Mac # 或 venv\Scripts\activate # Windows
-
安装依赖
pip install -r requirements.txt
-
配置环境变量
cp env # 编辑 .env 文件,配置数据库、Redis、JWT 密钥等
主要配置项:
# JWT 密钥 JWT_ACCESS_SECRET_KEY=your-jwt-access-secret JWT_REFRESH_SECRET_KEY=your-jwt-refresh-secret # 数据库配置 DATABASE_TYPE=MYSQL # MYSQL/POSTGRESQL/SQLSERVER/SQLITE3 DATABASE_HOST=127.0.0.1 DATABASE_PORT=3306 DATABASE_USER=root DATABASE_PASSWORD=password DATABASE_NAME=zq_admin # Redis 配置 REDIS_HOST=127.0.0.1 REDIS_PORT=6379 REDIS_PASSWORD= REDIS_DB=2
-
数据库迁移
python manage.py makemigrations core scheduler python manage.py migrate
-
初始化数据
python manage.py loaddata db_init.json
-
启动服务
# 开发环境 python manage.py runserver 0.0.0.0:8000
-
启动任务调度器(可选)
# 生产环境 python start_scheduler.py
选项 2: FastAPI 后端(推荐用于高性能场景)
-
进入 FastAPI 目录
cd zq-platform/backend-fastapi
-
创建虚拟环境
conda create -n zq-fastapi python=3.12 conda activate zq-fastapi
-
安装依赖
pip install -r requirements.txt
-
配置环境变量
cp env/example.env env/dev.env # 编辑 env/dev.env 配置数据库连接
-
数据库迁移
alembic revision --autogenerate -m "init tables" alembic upgrade head # 导入初始数据(可选) python scripts/loaddata.py db_init.json
-
启动服务
python main.py # 或 uvicorn main:app --reload --host 0.0.0.0 --port 8000
-
访问 API 文档
-
Swagger UI: http://localhost:8000/docs
-
ReDoc: http://localhost:8000/redoc
前端安装
-
进入前端目录
cd zq-platform/web
-
安装依赖
pnpm install
-
配置环境变量
cd apps/web-ele cp .env.development .env # 编辑 .env 文件,配置后端 API 地址
-
启动开发服务器
# 在 web 根目录下 pnpm dev
-
构建生产版本
pnpm build:ele
📝 默认账号
初始化数据后,可使用以下账号登录:
-
账号:
superadmin -
密码: 请查看
123456或联系管理员
🔧 主要功能模块
系统管理
-
用户管理: 用户的增删改查、密码重置、状态管理
-
角色管理: 角色权限分配、数据权限控制
-
权限管理: 接口权限、按钮权限细粒度控制
-
部门管理: 树形部门结构管理
-
岗位管理: 岗位信息维护
-
菜单管理: 动态菜单配置、路由管理
-
字典管理: 系统字典维护
系统监控
-
服务器监控: CPU、内存、磁盘、网络实时监控
-
Redis 监控: Redis 性能指标、键值管理
-
数据库监控: 数据库连接、性能监控
-
登录日志: 用户登录记录、IP 地理位置
任务调度
-
定时任务: Cron 表达式配置
-
任务日志: 执行历史、结果查看
-
任务管理: 启动、停止、立即执行
文件管理
-
文件上传: 支持多文件上传
-
文件预览: 图片、文档在线预览
-
文件下载: 批量下载功能
🔐 API 文档
Django 后端
-
Swagger UI:
http://localhost:8000/api/docs -
ReDoc:
http://localhost:8000/api/redoc
FastAPI 后端
-
Swagger UI:
http://localhost:8000/docs -
ReDoc:
http://localhost:8000/redoc
🛠️ 开发指南
后端开发
-
添加新模块
-
在
core/或创建新 app -
定义 models、schemas、services、api
-
在 router 中注册路由
-
-
API 开发规范
-
使用 Django Ninja 装饰器
-
统一返回格式
-
异常处理
-
权限验证
-
前端开发
-
添加新页面
-
在
src/views/创建页面组件 -
在
src/router/routes/modules/添加路由 -
在
src/api/添加接口定义
-
-
组件开发规范
-
使用 Element Plus 组件
-
优先使用 Tailwind CSS
-
支持暗黑模式
-
图标从
@vben/icons导入
-
📦 部署
-
后端部署
-
使用 Gunicorn + Nginx
-
配置 Supervisor 进程守护
-
配置 SSL 证书
-
-
前端部署
-
执行
pnpm build构建 -
将
dist目录部署到 Nginx -
配置反向代理
-
🤝 贡献指南
欢迎提交 Issue 和 Pull Request!
-
Fork 本项目
-
创建特性分支 (
git checkout -b feature/AmazingFeature) -
提交更改 (
git commit -m 'Add some AmazingFeature') -
推送到分支 (
git push origin feature/AmazingFeature) -
开启 Pull Request
🙏 致谢
-
Django - 强大的 Python Web 框架
-
Django Ninja - 快速的 Django REST 框架
-
Vue Vben Admin - 优秀的 Vue3 后台管理模板
-
Element Plus - 基于 Vue 3 的组件库
Made with ❤️ by ZQ Team
更多推荐
所有评论(0)