天我就把自己挠破头踩过的坑、总结的选择逻辑,一股脑儿倒给你。咱不写冷冰冰的文档,只讲人话。
📌 本文能帮你解决什么
✅ 避开 FastApiAdmin 安装中的依赖地狱
✅ 5 分钟跑起来一个能用的后台
✅ 知道什么时候该用它,什么时候赶紧绕道
✅ 遇见报错不再慌,直接对照我的踩坑记录
🧭 主要内容脉络
安装与踩坑 ➡️ 最简配置 ➡️ 自定义字段与鉴权 ➡️ 生产环境注意事项 ➡️ 我的选型红黑榜
1. FastApiAdmin 到底是个啥?
简单说,它是一个完全开源的全栈式快速开发平台,专门用来帮你快速搭建企业级中后台系统。
和pip install就能用的轻量插件fastapi-admin不同,FastApiAdmin 需要通过git clone下载完整项目来使用。
git clone https://github.com/fastapiadmin/FastapiAdmin.git # 或使用 Gitee git clone https://gitee.com/fastapiadmin/FastapiAdmin.git它的后端基于FastAPI + SQLAlchemy,前端则是Vue3 + TypeScript + Element-Plus,前后端分离架构,开箱自带用户管理、RBAC 权限、菜单配置、日志监控等一堆企业级功能。
⚠️ 重灾区提示:如果你只是想给已有的 FastAPI 项目加个简单的后台,那fastapi-admin(pip 安装,基于 Tortoise ORM)更合适;
如果你是从零起一个新的企业级后台项目,直接 clone FastApiAdmin 能省你至少两周的脚手架搭建时间。
🔍 核心区别一览
| 对比维度 | fastapi-admin | FastApiAdmin |
|---|---|---|
| 一句话定位 | 轻量级Admin仪表板 | 全栈式企业级快速开发平台 |
| 安装方式 | pip install fastapi-admin | git clone下载完整项目 |
| 后端ORM | Tortoise ORM | SQLAlchemy |
| 前端技术 | Tabler UI (后端渲染) | Vue3 + TypeScript + Element-Plus |
| 适用场景 | 已有FastAPI项目,快速加个后台 | 从零开始搭建企业级中后台系统 |
简单说:fastapi-admin像个“插件”,往现有项目里一装就能用;FastApiAdmin是整套“精装房”,你需要基于它来开发整个项目。
2. 安装中我踩过的无语瞬间
别以为git clone下来就能直接跑。我当初装完依赖就急着python main.py,结果报了一堆错。后来才发现:
它需要先配置数据库连接,在
.env文件里填好 MySQL 或 PostgreSQL 的信息前端依赖要用pnpm装,不是 npm(我当初 npm install 搞了半天跑不起来)
后端和前端要分别启动,先跑后端再跑前端
环境配置这块,建议老老实实把项目 README 或下面链接的 快速上手 从头到尾读一遍,可别偷懒跳着看,指不定哪个没注意,又掉坑里了。
https://service.fastapiadmin.com/guide/start.html3. 官方Slogan:5 分钟跑起来一个后台
## 1 配置环境变量 cd FastapiAdmin/backend cp env/.env.dev.example env/.env.dev # 编辑 env/.env.dev,填写数据库连接、Redis、JWT 密钥等 ## 2 安装依赖并启动 # 推荐使用 uv(与 pyproject.toml 一致) uv sync uv run main.py run --env=dev # 服务启动后,浏览器访问 http://localhost:8001 后台自动初始化应用及数据库 # 初始化完成后,输出: #🔗 Swagger: http://localhost:8001/api/v1/docs #🔗 ReDoc: http://localhost:8001/api/v1/redoc #🔗 LangJin: http://localhost:8001/api/v1/ljdoc后端跑起来了,现在来启动前端页面:
# Web 前端 (Vue3) cd FastapiAdmin/frontend/web pnpm install # 检查环境变量中的后台地址 .env.development(默认指向官网演示) # 启动项目 pnpm run dev # 出现如下提示即表示初始化完成,自动打开浏览器并载入后台登录页面 # ➜ Local: http://localhost:5180/web登录后的后台管理页面:(演示数据)