FastAPI-Vue3-Admin 一款Python 全栈融合的高可用中后台快速开发平台方案
哈喽小伙伴们,大家好!很久没有进行博客的更新了,期间发生了许多事情,博客许久的停更,并不代表着我的止步不前,我依旧在勇敢前行。感谢大家一直以来的关注,从今天开始,将会依旧给大家更新一些前沿知识或技术。今天给大家分享一个python中后台快速开发框架,这也是我寻找了好久好久的一个比较满意的开源项目。项目的作者是一个平易近人、拥有几十年开发经验的的技术大牛,感兴趣的小伙伴后面可以点个关注前排观看,后面会逐步更新二次开发教程。项目作者github主页:1014TaoTao。
文章目录
- 一、📘项目背景
- 二、✨核心亮点
- 三、🛠️ 技术栈概览
- 四、📌 内置模块
- 五、👷 安装和使用
- 1.开发环境版本说明
- 2.获取源代码
- 3.本地后端启动
- 4.本地前端启动
- 5.本地访问地址
- 6.docker 部署
- 六、🔧一些项目页面展示
- 七、总结
一、📘项目背景
FastAPI-Vue3-Admin 是一套完全开源的现代化企业级中后台快速开发平台,以高度模块化设计与先进技术架构为核心优势。项目采用前后端分离模式,深度融合 Python 后端框架 FastAPI 与前端主流框架 Vue3,实现多端统一开发体验,为开发者提供开箱即用的一站式解决方案,助力高效搭建高质量企业级管理系统。
设计初心:以模块化、松耦合为核心设计理念,致力于提供丰富的功能模块、简洁易用的接口、详尽的开发文档及便捷的维护机制。通过统一技术框架与组件体系,有效降低技术选型成本;严格遵循开发规范与设计模式,构建清晰的代码分层模型,辅以完善的本地化支持,全方位适配团队及企业级开发场景的实际需求。
项目的大致路径如下:
fastapi_vue3_admin
├─ backend # 后端工程
├─ frontend # 前端工程
├─ devops # 部署工程
├─ docker-compose.yaml # 部署文件
├─ start.sh # 一键部署脚本
├─ LICENSE # 许可协议
|─ README.en.md # 英文文档
└─ README.md # 中文文档
二、✨核心亮点
在说项目的核心亮点时,先说一下采用fastapi进行开发的亮点,可以通过表格可以快速对比,不要选一款全能框架开发,而是选一款适合自己的。
维度 | Flask | FastAPI | Django |
---|---|---|---|
定位 | 轻量级微框架(微核心+插件扩展) | 高性能异步API框架 | 全功能"batteries-included"框架 |
性能 | 同步为主,性能一般 | 基于异步(Starlette),性能接近Go/Node.js | 同步为主,性能中等(可通过异步视图优化) |
开发效率 | 灵活但需手动整合组件 | 自动生成API文档、参数校验 | 内置ORM、Admin等,开箱即用 |
类型支持 | 无原生生支持 | 基于Pydantic,强类型注解 | 3.10+支持类型提示,生态适配较弱 |
异步支持 | 需依赖扩展(如Flask-Async) | 原生支持async/await | 3.10+支持异步视图和ORM |
API文档 | 需手动集成Swagger等 | 自动生成Swagger/ReDoc文档 | 需第三方库(如drf-yasg) |
学习曲线 | 低(适合入门) | 中等(需理解异步和类型注解) | 高(组件多,规范严格) |
生态成熟度 | 插件丰富(如Flask-SQLAlchemy) | 较新但增长快,主流工具均支持 | 极成熟,插件覆盖全场景 |
适用场景 | 小型应用、原型开发 | API服务、高并发场景 | 大型复杂系统(CMS、电商等) |
接下来再展示一下Fastapi-Vue3-Admin的核心亮点!
特性 | 描述 |
---|---|
🔭 快速开发 | 一套完全开源的现代化快速开发平台,旨在帮助开发者高效搭建高质量的中后台系统。 |
🌐 全栈整合 | 前后端分离,融合 Python (FastAPI) + Vue3 多端开发 |
🧱 模块化设计 | 系统功能高度解耦,便于扩展和维护 |
⚡️ 高性能异步 | 使用 FastAPI 异步框架 + Redis 缓存优化接口响应速度 |
🔒 安全认证 | 支持 JWT OAuth2 认证机制,保障系统安全 |
📊 权限管理 | RBAC 模型实现菜单、按钮、数据级别的细粒度权限控制 |
🚀 快速部署 | 支持 Docker/Docker Compose/Nginx 一键部署 |
📄 开发友好 | 提供完善的中文文档 + 中文化界面 + 可视化工具链,降低学习成本 |
🚀 快速接入 | 基于 Vue3、Vite5、Pinia、Ant Design Vue 等主流前端技术栈,开箱即用。 |
三、🛠️ 技术栈概览
采用主流的框架与技术,实现一个高性能、易扩展的web基座。
类型 | 技术选型 | 描述 |
---|---|---|
后端框架 | FastAPI / Uvicorn / Pydantic 2.0 / Alembic | 现代、高性能的异步框架,强制类型约束,数据迁移。 |
ORM | SQLAlchemy 2.0 | 强大的 ORM 库。 |
定时任务 | APScheduler | 轻松实现定时任务。 |
权限认证 | PyJWT | 实现 JWT 认证。 |
前端框架 | Vue3 / Vite5 / Pinia / TypeScript | 快速开发 Vue3 应用。 |
UI 库 | Ant Design Vue | 快速开发美观的 UI 组件。 |
数据库 | MySQL / MongoDB | 强大的数据库。 |
缓存 | Redis | 强大的缓存数据库。 |
文档 | Swagger / Redoc | 自动生成 API 文档。 |
部署 | Docker / Nginx / Docker Compose | 快速部署项目。 |
四、📌 内置模块
模块名 | 子模块名 | 描述 |
---|---|---|
仪表盘 | 工作台 、分析页 | 常用功能入口 |
系统管理 | 包含菜单、部门、岗位、角色、用户、日志、配置、公告、字典、任务等子模块 | 系统主功能 |
监控管理 | 在线用户、服务器监控、缓存监控 | 系统监控管理功能 |
公共管理 | 接口管理、文档管理 | 项目接口文档 |
等等…更多的内置模块正在逐步扩展与更新,如果感兴趣可以联系作者,也许可以贡献出自己的一份力量.
五、👷 安装和使用
1.开发环境版本说明
类型 | 技术栈 | 版本 |
---|---|---|
后端 | Python | 3.10(大于3.10的版本, 会有兼容问题, 将来升级,暂时不考虑升级) |
后端 | FastAPI | 0.109 |
前端 | Node.js | >= 20.0(推荐使用最新版) |
前端 | npm | 16.14 |
前端 | Vue3 | 3.3 |
数据库 | MySQL | 8.0 (推荐使用最新版) |
中间件 | Redis | 7.0 (推荐使用最新版) |
2.获取源代码
# 克隆代码到本地
git clone https://gitee.com/tao__tao/fastapi_vue3_admin.git
或
git clone https://github.com/1014TaoTao/fastapi_vue3_admin.git
3.本地后端启动
# 进入后端工程目录
cd backend
# 安装依赖
pip3 install -r requirements.txt
# 启动后端服务
python3 main.py run
或
python3 main.py run--env=dev
# 生成迁移文件
python3 main.py revision "初始化迁移" --env=dev(不加默认为dev)
# 应用迁移
python3 main.py upgrade --env=dev(不加默认为dev)
4.本地前端启动
# 进入前端工程目录
cd frontend
# 安装依赖
npm install
# 启动前端服务
npm run dev
# 构建前端, 生成 `frontend/dist` 目录
npm run build
5.本地访问地址
- 前端地址: http://127.0.0.1:5180
- 接口地址: http://127.0.0.1:8001/api/v1/docs
- 管理员账号:
admin
密码:123456
- 演示账号:
demo
密码:123456
6.docker 部署
# 复制脚本 `fastapi_vue3_amdin/start.sh` 脚本文件到服务器, 并赋予执行权限
chmod +x start.sh
# 执行脚本
./start.sh
# 查看镜像:
docsker images -a
# 查看容器:
docsker compose ps
# 查看日志
docker logs -f <容器名>
# 服务停止
docsker compose down
# 删除镜像
docker rmi <镜像名>
# 删除容器
docker rm <容器名>
# 后端配置文件目录
fastapi_vue3_amdin/backend/env/.env.prod.py
# 前端配置文件目录
fastapi_vue3_amdin/frontend/vite.config.ts
和
fastapi_vue3_amdin/frontend/.env.production
# 部署文件目录
fastapi_vue3_amdin/docker-compose.yaml
和
fastapi_vue3_amdin/devops/devops/nginx/nginx.conf
六、🔧一些项目页面展示
在进行分享之前,先放几张项目的图像,项目作者虽然是旧时代杀出来的技术大牛,但是审美方面还是比较时尚的。风格非常贴近小年轻
登录页面:
用户管理:
数据面板:
七、总结
这个项目高性能、松耦合、易上手,是一款难得的佳作,耗时长时间倾力打造,如果对这个项目感兴趣的可以去github项目主页给作者点个关注,学习一哈,对于提升自己一定会很有帮助,如果想跟随大佬的步伐,为开源精神舔砖加瓦,也可以联系项目作者,为爱发声!!!项目作者github主页:1014TaoTao。
ps:文章已经项目作者同意进行发布