乐于分享
好东西不私藏

FastAPI Web Admin开源模板:高效构建管理后台的利器

FastAPI Web Admin开源模板:高效构建管理后台的利器
手执烟火以谋生,心怀诗意以谋爱

核心功能

采用异步高性能架构,支持高并发请求处理

内置完整 RBAC 权限体系,实现用户、角色、菜单、权限统一管控

支持动态路由注册,后端配置后前端自动生成菜单与路由

提供多层级权限控制,覆盖菜单、按钮、数据、API 四个维度

具备完善日志管理,记录用户登录与操作行为并支持查询清理

支持亮色与暗黑主题切换,界面美观易用

支持 Docker 一键部署,简化环境配置与上线流程

采用分层架构设计,代码结构清晰,易于维护与扩展

集成 Celery 异步任务与定时任务调度系统

提供 Alembic 数据库迁移,支持一键初始化数据库

前端采用 TypeScript 增强类型安全,配合 Pinia 状态管理

支持路由懒加载、动态面包屑、表格批量操作与详情弹窗

提供按钮级权限指令、接口权限校验、数据范围过滤

支持多环境配置、统一异常处理、请求限流与 JWT 认证

截图

技术栈

后端基于 Python、FastAPI、SQLAlchemy 2.0、Pydantic、Redis、MySQL

前端基于 Vue3、Vite、TypeScript、Element Plus、Pinia、Vue Router

支持 Windows、Linux、macOS 多平台运行

# 后端部署

1. 环境准备

# 确保已安装 Python 3.13、MySQL 8.0、Redis 6.0python --versionmysql --versionredis-server --version

2. 创建数据库

CREATE DATABASE fastapiwebadmin CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

3. 配置环境

cd backend# 复制配置文件cp .env.example .env# 编辑 .env 文件,修改数据库连接信息# MYSQL_DATABASE_URI=mysql+asyncmy://用户名:密码@localhost:3306/fastapiwebadmin# REDIS_URI=redis://localhost:6379/4

4. 安装依赖

# 使用国内镜像源加速pip install -r requirements -i https://mirrors.aliyun.com/pypi/simple

5. 初始化数据库

# 一键初始化(推荐)python cli.py init-db# 初始化权限数据python init_permissions_simple.py# 或手动使用 Alembicalembic upgrade headpython cli.py init-data

6. 启动后端服务

# 开发模式python main.py# 生产模式gunicorn main:app -w 4 -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8100

7. 启动 Celery(可选)

# Windows 启动 Worker(单线程)celery -A celery_worker.worker.celery worker --pool=solo -l INFO# Linux 启动 Worker(多线程)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

前端部署

1. 环境准备

# 确保已安装 Node.js 18.15.0node -v  # v18.15.0

2. 安装依赖管理工具

# 安装 cnpm(使用淘宝镜像)npm install -g cnpm --registry=https://registry.npm.taobao.org# 或安装 yarnnpm install -g yarn

3. 安装项目依赖

cd frontend# 使用 cnpmcnpm install# 或使用 yarnyarn install

4. 启动开发服务器

# 使用 cnpmcnpm run dev# 或使用 yarnyarn dev

访问:http://localhost:5173

5. 生产构建
# 使用 cnpmcnpm run build# 或使用 yarnyarn build# 构建产物在 dist/ 目录

# 源码和dock部署

https://github.com/rebort-hub/fastapiwebadmin2.0/tree/main