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

后端开发基础

方法论: 不求精通,但求能跑。遇到问题不要慌,看报错 → 问 AI → 验证方案。


⚠️ 遇到问题?先看这里!

99% 的新手问题都在这里有答案 👉 新手常见问题速查(2025版)

包含:

  • command not found: python 怎么办?
  • ModuleNotFoundError 找不到包?
  • ❌ 虚拟环境激活失败?
  • ❌ Supabase 连接被拒绝?
  • ❌ CORS 跨域错误?
  • ❌ Token 无效或过期?
  • ✅ 如何高效地问 AI?(提问模板)
  • ✅ 如何看懂报错信息?

记住: 遇到问题复制报错信息问 AI,90% 的问题都能解决!


📖 本章目标

学完本章,你将理解:

  • ✅ 后端的5个核心知识点(第一性原理)
  • ✅ 会搭建完整的开发环境
  • ✅ 能写出第一个 API 接口
  • ✅ 会操作 Supabase 数据库
  • ✅ 能实现完整的用户注册/登录

预计总用时: 3 小时


📚 章节目录

2.2.1 后端是什么?

预计用时: 30 分钟

从日常现象出发,理解后端的5个最核心概念。

核心内容:

  • 💾 数据存在云端服务器(不是你的设备里)
  • 📡 每次操作都是发送 API 请求(就像点外卖)
  • 📊 数据库用“表格“存储数据(像 Excel)
  • 🎫 Token 身份验证(像健身房会员卡)
  • 🧠 后端负责业务逻辑(不只是存取数据)

学完你会明白:

  • 为什么换手机登录微信,聊天记录还在?
  • 点击“登录“按钮时,背后发生了什么?
  • 为什么不能在前端直接操作数据库?

2.2.2 环境搭建

预计用时: 30 分钟

从零搭建完整的后端开发环境。

核心内容:

  • Python 安装和配置
  • VS Code + 必装插件
  • Supabase 注册和项目创建
  • Postman API 测试工具

学完你会:

  • 打开终端不再害怕
  • 创建虚拟环境隔离项目
  • 用 VS Code 写第一行Python 代码

2.2.3 第一个接口

预计用时: 40 分钟

从 Hello World 到用户注册,写出第一个真正可用的 API。

核心内容:

  • FastAPI Hello World
  • 理解路由、参数、响应
  • Pydantic 数据验证
  • 实战:用户注册接口

学完你会:

  • 写出 POST /api/users/register 接口
  • /docs 自动文档测试接口
  • 理解 GET/POST 的区别

2.2.4 数据库操作

预计用时: 40 分钟

学会用 Supabase 存储和查询数据。

核心内容:

  • 在 Supabase 创建第一张表
  • SQL 基础 CRUD 操作
  • Python 代码操作数据库
  • SQLAlchemy ORM 入门

学完你会:

  • 创建 users 表存储用户信息
  • 用 Python 代码插入/查询数据
  • 理解为什么要用 ORM

2.2.5 完整功能实现

预计用时: 50 分钟

实现生产级别的用户注册/登录功能。

核心内容:

  • 三层架构(Router/Service/DAO)
  • JWT Token 认证
  • 密码加密存储
  • 统一响应格式

学完你会:

  • 写出规范的后端代码
  • 实现完整的登录流程
  • 理解 Token 验证机制

2.2.6 技术术语手册

预计用时: 随时查阅

把后端“黑话“翻译成人话。

核心内容:

  • API、RESTful、HTTP 是什么?
  • DAO、Service、ORM 有什么区别?
  • Supabase、PostgreSQL、SQLAlchemy 分别是啥?
  • CORS、JWT、Pydantic 都是干嘛的?

使用场景:

  • 看文档看到陌生术语时查阅
  • 面试前快速复习概念

2.2.7 新手常见问题速查(2025版) ⚡ 必看!

预计用时: 30 分钟(随时查阅)

遇到问题不要慌!这里有你需要的所有答案。

核心内容:

  • 12个最常见报错及解决方案(基于2025最新实践)
  • 如何看懂报错堆栈(从下往上读)
  • 如何高效地问 AI(提问模板 + 反例)
  • 调试技巧(print 大法)
  • 快速检查清单(环境、代码、网络、Token)

使用场景:

  • ❌ 遇到任何报错(先来这里搜索)
  • ❌ Python 安装后找不到命令
  • ❌ pip install 失败或很慢
  • ❌ FastAPI 启动报错
  • ❌ Supabase 连接失败
  • ❌ CORS 跨域错误
  • ❌ Token 认证失败

记住: 复制报错信息 → 在本文档搜索 → 还没解决 → 用模板问 AI


🎯 学习路线图

第1步: 理解概念(30分钟)
   ↓
【01_后端是什么】
   - 数据在云端
   - API 请求
   - 数据库表格
   - Token 验证
   - 业务逻辑
   ↓
第2步: 搭建环境(30分钟)
   ↓
【02_环境搭建】
   - 安装 Python、VS Code
   - 注册 Supabase
   - 配置 Postman
   ↓
第3步: 第一个接口(40分钟)
   ↓
【03_第一个接口】
   - Hello World
   - 路由和参数
   - 用户注册 API
   ↓
第4步: 数据库操作(40分钟)
   ↓
【04_数据库操作】
   - 创建表
   - CRUD 操作
   - SQLAlchemy ORM
   ↓
第5步: 完整功能(50分钟)
   ↓
【05_完整功能】
   - 三层架构
   - JWT 认证
   - 前后端联调
   ↓
完成!你已经会写后端了 🎉

💡 Vibe Coding 学习法

❌ 传统学习(效率低)

1. 从头到尾看完所有理论
2. 记住所有概念定义
3. 理解透彻后再动手
4. 完美主义(代码要写得很优雅)

✅ Vibe Coding(高效)

1. 快速理解核心概念(5个知识点)
2. 边看边敲代码(复制粘贴都行)
3. 能跑通就继续下一步
4. 遇到问题复制报错问 AI
5. 不求完美,先求完成

🎯 学习建议

应该这样做:

  • ✅ 按顺序学(01 → 02 → 03…)
  • ✅ 每节学完立即实践
  • ✅ 代码能跑就是成功
  • ✅ 遇到不懂的先跳过
  • ✅ 报错了复制给 Claude/ChatGPT

不要这样做:

  • ❌ 跳着学(基础没打好)
  • ❌ 只看不动手(看懂≠会做)
  • ❌ 追求完全理解(永远学不完)
  • ❌ 纠结代码优雅性(先能跑)
  • ❌ 自己钻牛角尖(问 AI 更快)

🚀 快速参考

常用命令

# 创建虚拟环境
python -m venv venv

# 激活虚拟环境
venv\Scripts\activate  # Windows
source venv/bin/activate  # Mac/Linux

# 安装 FastAPI
pip install fastapi uvicorn[standard]

# 运行项目
uvicorn main:app --reload

# 查看自动文档
http://localhost:8000/docs

FastAPI 核心语法

# 最简单的接口
@app.get("/")
def root():
    return {"message": "Hello World"}

# 路径参数
@app.get("/users/{user_id}")
def get_user(user_id: int):
    return {"user_id": user_id}

# 请求体(Pydantic)
class User(BaseModel):
    username: str
    password: str

@app.post("/users")
def create_user(user: User):
    return {"username": user.username}

5个核心概念速记

概念一句话理解类比
数据在云端数据存在远程服务器钱在银行,不在钱包
API 请求前后端通信的方式点外卖下单
数据库表格用表格存储数据Excel 表格
Token 验证登录后的通行证健身房会员卡
业务逻辑复杂处理在后端做银行后台系统

常见问题速查(2025版)

问题快速解决详细查看
command not found: python环境变量未配置07_新手常见问题
ModuleNotFoundError虚拟环境没激活07_新手常见问题
❌ 虚拟环境激活没有 (venv) 标记可能已激活,用 which python 验证07_新手常见问题
pip install 很慢或超时配置国内镜像源07_新手常见问题
Address already in use端口被占用,换端口或杀进程07_新手常见问题
❌ CORS 跨域错误后端添加 CORS 中间件07_新手常见问题
❌ Supabase Connection refused暴力破解保护,等30分钟或检查密码07_新手常见问题
❌ Supabase 401 Unauthorized需要禁用 RLS 或设置 Policy07_新手常见问题
❌ Token 无效或已过期检查格式和过期时间07_新手常见问题
✅ 如何高效地问 AI?使用标准提问模板07_新手常见问题
✅ 如何看懂报错信息?从下往上读报错堆栈07_新手常见问题
❓ 后端到底是干嘛的?处理数据、验证身份、执行业务逻辑01_后端是什么
❓ 怎么实现登录?JWT Token + bcrypt 密码加密05_完整功能

💡 提示: 遇到任何问题,第一时间去 07_新手常见问题 搜索!


📚 推荐资源

官方文档

视频教程

  • B 站搜索“FastAPI 教程“
  • B 站搜索“Supabase 使用“

实战项目

  • 本项目的 project_backend/ 目录
  • project_front/knowfun-clone/backend/ 目录

📝 学习检查清单

第1天:概念和环境

  • 理解5个核心知识点
  • Python 安装成功(python --version
  • VS Code 打开并安装插件
  • Supabase 注册并创建项目
  • FastAPI Hello World 能运行

第2天:第一个接口

  • 写出 GET /api/hello 接口
  • 写出 POST /api/users/register 接口
  • 用 /docs 测试接口成功
  • 理解 Pydantic 数据验证

第3天:数据库操作

  • 在 Supabase 创建 users 表
  • 用 Python 代码插入一条数据
  • 用 Python 代码查询数据
  • 理解 SQL 基础语法

第4天:完整功能

  • 实现用户注册(密码加密)
  • 实现用户登录(生成 Token)
  • 实现需要登录的接口(验证 Token)
  • 前后端联调成功

全部完成?恭喜你,已经掌握后端开发基础了! 🎉


📚 下一步

完成本章后,继续学习:

👉 运维部署

学习如何将项目部署到 Vercel,让全世界都能访问!