Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Project Guide: full-stack-fastapi-template

原项目:

  • https://github.com/fastapi/full-stack-fastapi-template

补充官方文档:

  • https://fastapi.tiangolo.com/fa/tutorial/bigger-applications/

这页为什么重要

如果你要学 FastAPI + 前端 + 数据库 + 认证 + 部署,这个项目是非常合适的第一站。

它不是单个 FastAPI demo,而是一个完整的全栈模板。你可以在一个项目里同时看到:

  • FastAPI 后端
  • 前端应用
  • 数据库
  • 用户认证
  • Docker / 环境配置

这正好能帮你建立“真实 Web 应用”的整体直觉。


你应该从它学到什么

不是“我把一个模板跑起来了”。

你真正应该学到的是:

  1. 一个完整 Web 产品的最小结构有哪些层
  2. FastAPI 后端如何组织 router、schema、model、db
  3. 前端如何真正调用后端并展示数据
  4. 登录态、数据库、部署为什么会把项目复杂度拉上来

最小全栈链路

第一遍你至少要能自己复述这条链路:

user action in frontend
-> frontend sends request
-> FastAPI route receives request
-> backend logic talks to database
-> response returns to frontend
-> UI updates

如果你不能把这条链路讲清楚,你就还没有真正理解“前后端联动”。


为什么它适合作为第一站

因为它的学习价值很集中:

  • 不是只有后端
  • 不是只有前端
  • 不是只有一个小 CRUD 脚本

它会让你在同一套代码里看到产品开发最常见的几层结构。

而且它来自 FastAPI 官方组织,这意味着它更适合拿来建立基础判断,不容易一上来就学到一堆个人风格很重的写法。


第一遍最该观察的五件事

1. 后端目录怎么拆

你要先看:

  • 入口文件在哪里
  • router 在哪里
  • model / schema / crud 在哪里
  • 配置和环境变量在哪里

2. 前端目录怎么拆

你要知道:

  • 页面在哪里
  • API 调用在哪里
  • 登录相关逻辑在哪里
  • 数据如何进入 UI

3. 用户认证怎么走

这是全栈项目里非常关键的一层。

你至少要搞清:

  • 登录请求发到哪里
  • token 或认证信息怎么保存
  • 后端怎么识别当前用户

4. 数据库在系统里扮演什么角色

你要分清:

  • model 是什么
  • migration 或建表逻辑在哪里
  • 一次新增 / 查询 / 更新是怎么走的

5. Docker 和环境配置为什么存在

第一遍不需要精通部署,但你至少要知道:

  • 为什么要有环境变量
  • 为什么数据库和应用经常一起启动
  • Docker 帮你解决了什么问题

第一周不要做什么

第一周最容易带偏自己的做法有这些:

  • 一上来就换技术栈
  • 一上来就重构全部目录
  • 一上来就加很多复杂页面
  • 登录和数据库还没跑通,就急着做 UI 美化

第一周重点是先把完整链路跑通。


第一周真正该做什么

Day 1

  • 按项目说明跑通本地环境
  • 确认前端、后端、数据库都能启动

Day 2

  • 画出前端到后端再到数据库的链路
  • 标记核心目录

Day 3

  • 看一个最基础的 API
  • 记录请求、响应、数据库读写分别发生在哪里

Day 4

  • 看登录流程
  • 记录认证信息在前后端怎么流动

Day 5

  • 加一个最小字段或最小资源
  • 比如新增一个简单的 notes / tasks / tags 字段

Day 6

  • 给前端加一个最小页面或表单联动
  • 让你新增的数据能被看到

Day 7

  • 用自己的话复盘:
    • 这个模板的后端结构是什么
    • 前后端是怎么联动的
    • 如果自己做一个小产品,你保留哪几层

更细执行版在这里:


你最该产出的东西

1. 一张全栈数据流图

frontend event -> API request -> FastAPI route -> db operation -> API response -> UI update

2. 一份目录说明

你至少要能解释:

  • 后端入口
  • API 路由
  • 数据模型
  • 前端页面
  • 前端 API 调用层

3. 一个小功能改动

第一轮最推荐的,不是大改,而是:

  • 增加一个字段
  • 增加一个简单资源
  • 新增一个很小的表单流

只要你做过一次,你就不再只是“跑模板”。


常见误区

误区 1:把它当纯后端项目

这项目最大的价值恰恰是全链路,不是只看 API。

误区 2:前后端都能启动,就以为学会了

真正的理解标准是你能加一个小功能并让它贯通。

误区 3:一上来就做复杂业务

第一轮先学结构,不先追产品复杂度。


最小完成标准

你至少要做到下面三条中的两条:

  • 能解释前端请求是如何走到数据库再回到页面的
  • 能自己加一个小 API 或小字段并连到前端
  • 能说清认证、数据库、前端页面这三层是怎么接起来的

做完它以后该去哪

做完这页之后,你最值得做的不是再找第二个模板,而是做一个自己的小产品。

最适合你的方向:

  • 学习任务管理器
  • AI 学习资料管理器
  • 刷题复盘系统

这时模板才真正变成你的能力,而不是你的依赖。