找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

374

积分

0

好友

46

主题
发表于 4 小时前 | 查看: 1| 回复: 0

介绍

基于 Python 的 FastAPI 框架,结合 Vue3 与 Element Plus 开发的一款开箱即用的纯净后台管理系统。它内置了完整的用户权限管理体系,旨在帮助开发者快速构建后端开发脚手架。您无需从零实现身份认证等通用功能,只需专注于自身业务逻辑的开发。系统支持动态路由注册与权限配置,实现菜单与功能的精细化管控。

后端

  • 使用软件版本
  • Python version <= 3.13
  • MySQL version 8.0.23
  • Redis version 6.0.9
  • Node version 18.15.0

后端架构:

  • FastAPI 异步框架 + SQLAlchemy 2.0 异步ORM
  • Redis 异步连接池(自定义扩展)
  • Celery 异步任务队列 + Beat 定时任务
  • 统一异常处理和响应封装
  • 请求中间件(日志、鉴权、trace_id)
  • 自定义日志系统(Loguru)
  • 依赖注入和会话管理
  • 分层架构(apis/services/models/schemas)

前端架构:

  • 采用 Vue 3 + Vite + TypeScript
  • Element Plus UI 组件库
  • Pinia 状态管理 + 持久化
  • 前后端路由控制
  • 权限指令系统
  • Monaco 代码编辑器
  • 主题配置和暗黑模式
  • 完整的布局系统
  • 动态路由注册,在前端菜单管理中添加菜单后,即可分配权限使用

1. 数据库初始化(一键完成)

推荐方式

前置条件

  1. 创建数据库: CREATE DATABASE fastapiwebadmin CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  2. 配置 cp.env.example 重命名为.env 修改文件中的数据库连接
  3. 安装依赖驱动: pip install requirements

2. 使用 Alembic

如果你需要手动管理迁移:

# 初始化
python cli.py init-db

# 生成迁移文件
alembic revision --autogenerate -m “描述信息”

# 执行迁移
alembic upgrade head

# 回滚迁移
alembic downgrade -1

前端

  • 基于 vite + vue3 + + Pinia + element-plus

平台预览

  • github: https://github.com/rebort-hub

  • 登录页
    FastAPI后台管理系统登录界面

  • 首页(仪表盘)
    后台管理系统仪表盘界面

  • 路由菜单管理页面
    菜单管理页面截图

  • 接口管理页面
    Swagger API文档界面
    API文档详情界面

  • 个人中心
    用户个人中心界面

  • 主题自定义切换
    系统主题设置界面
    菜单管理界面
    角色管理列表页面

项目启动初始化-后端

# 克隆项目
git clone https://github.com/rebort-hub/fastapiwebadmin.git

# 数据库脚本,需要新建数据库 fastapiwebadmin
backend/script/db_init.sql

# 修改对应的数据库地址,redis 地址
backend/config.py
# 或者
backend/.env # 环境文件中的地址修改

# 安装依赖
pip install -r requirements

# 运行项目 /backend 目录下执行
python main.py

# 异步任务依赖 celery 启动命令

# windows 启动,只能单线程 /backend 目录下执行
celery -A celery_worker.worker.celery worker --pool=solo -l INFO

# linux 启动
celery -A celery_worker.worker.celery worker --loglevel=INFO -c 10 -P solo -n fastapiwebadmin-celery-worker

# 定时任务启动
celery -A celery_worker.worker.celery beat -S celery_worker.scheduler.schedulers:DatabaseScheduler -l INFO

# 定时任务心跳启动
celery -A celery_worker.worker.celery beat -l INFO

项目启动初始化-前端

# node 版本
node -v
v18.15.0
  • 复制代码(桌面 cmd 运行) npm install -g cnpm --registry=https://registry.npm.taobao.org
  • 复制代码(桌面 cmd 运行) npm install -g yarn
# 克隆项目
git clone https://github.com/rebort-hub/fastapiwebadmin.git

# 进入项目
cd /frontend

# 安装依赖
cnpm install
# 或者
yarn insatll

# 运行项目
cnpm run dev
# 或者
yarn dev

# 打包发布
cnpm run build
# 或者
yarn build

支持与反馈

如果这个框架对你有帮助,并且已经在项目中使用,欢迎在 GitHub 仓库点一个 ⭐ Star,这将激励项目持续迭代更新。

希望这个开箱即用的解决方案能提升你的开发效率。更多技术实践与资源,欢迎访问 云栈社区 进行交流探讨。




上一篇:MySQL亿级流水表分表实践:Sharding-JDBC选型、多表分页与数据迁移详解
下一篇:Druid连接池深度配置与监控指南:Spring Boot实战与性能调优
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-18 16:27 , Processed in 0.236342 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表