当前位置: 首页 > news >正文

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进行开发的亮点,可以通过表格可以快速对比,不要选一款全能框架开发,而是选一款适合自己的。

维度FlaskFastAPIDjango
定位轻量级微框架(微核心+插件扩展)高性能异步API框架全功能"batteries-included"框架
性能同步为主,性能一般基于异步(Starlette),性能接近Go/Node.js同步为主,性能中等(可通过异步视图优化)
开发效率灵活但需手动整合组件自动生成API文档、参数校验内置ORM、Admin等,开箱即用
类型支持无原生生支持基于Pydantic,强类型注解3.10+支持类型提示,生态适配较弱
异步支持需依赖扩展(如Flask-Async)原生支持async/await3.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现代、高性能的异步框架,强制类型约束,数据迁移。
ORMSQLAlchemy 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.开发环境版本说明

类型技术栈版本
后端Python3.10(大于3.10的版本, 会有兼容问题, 将来升级,暂时不考虑升级)
后端FastAPI0.109
前端Node.js>= 20.0(推荐使用最新版)
前端npm16.14
前端Vue33.3
数据库MySQL8.0 (推荐使用最新版)
中间件Redis7.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:文章已经项目作者同意进行发布

http://www.dtcms.com/a/313384.html

相关文章:

  • golang 函数选项模式
  • 数据结构(概念及链表)
  • 【数据结构】队列的顺序存储与链式存储(C语言版)
  • 基于深度学习的医学图像分析:使用变分自编码器(VAE)实现医学图像生成
  • (FD Conv)Frequency Dynamic Convolution for Dense Image Prediction论文精读(逐段解析)
  • 07.config 命令实现动态修改配置和慢查询
  • [硬件电路-138]:模拟电路 - 什么是正电源?什么是负电源?集成运放为什么有VCC+和VCC-
  • Unix 发展史概览
  • 探索 Zephyr 项目:高效、可扩展的实时操作系统
  • 源代码本地安装funasr
  • C语言数据结构(6)贪吃蛇项目1.贪吃蛇项目介绍
  • 有限元方法中的数值技术:三角矩阵求解
  • Vulnhub Corrosion2靶机复现
  • 机器人抓取流程介绍与实现——机器人抓取系统基础系列(七)
  • 腾讯云CentOS7镜像配置指南
  • Pytorch实现一个简单的贝叶斯卷积神经网络模型
  • Java 中也存在类似的“直接引用”“浅拷贝”和“深拷贝”
  • [创业之路-530]:创业公司五维架构设计:借鉴国家治理智慧,打造敏捷型组织生态
  • mysql8.0集群技术
  • 第13章 文件输入/输出
  • 知识蒸馏 - 基于KL散度的知识蒸馏 HelloWorld 示例 KL散度公式对应
  • 文件拷贝-代码
  • Doris json_contains 查询报错
  • 数据结构总纲以及单向链表详解:
  • 【LeetCode刷题指南】--对称二叉树,另一颗树的子树
  • [创业之路-531]:知识、技能、技术、科学之间的区别以及它们对于职业的选择的指导作用?
  • 【OpenGL】LearnOpenGL学习笔记02 - 绘制三角形、矩形
  • 13-day10生成式任务
  • 基于MBA与BP神经网络分类模型的特征选择方法研究(Python实现)
  • 在ANSYS Maxwell中对永磁体无线充电进行建模