后端开发基础
方法论: 不求精通,但求能跑。遇到问题不要慌,看报错 → 问 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 或设置 Policy | 07_新手常见问题 |
| ❌ 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,让全世界都能访问!