Python 后端学习路线:从零基础到 FastAPI/Django 项目实战,一篇讲清 HTTP、MySQL、Redis、JWT、Docker
Python 后端学习路线:从基础到项目实战,一篇讲清怎么学
很多人学 Python 后端,最大的问题不是“不努力”,而是路线太乱。
今天看 Flask,明天看 Django,后天又听别人说 FastAPI 更香;数据库还没学明白,就开始写接口;接口刚能跑,又被 JWT、Redis、Docker、Nginx、部署这些词劝退。
这篇文章会按照一条比较清晰的路线来讲:
Python 基础补强
-> Web 后端前置知识
-> MySQL / Redis / ORM
-> Flask / FastAPI / Django
-> 工程化能力
-> 项目实战
-> 面试准备
我不会只给你列一堆名词,而是尽量讲清楚:
- 每个阶段学什么
- 为什么要学
- 学到什么程度算过关
- 可以做什么练手项目
- 面试容易问哪些点
如果你准备走 Python 后端、AI 应用开发、Agent 开发,或者想用 Python 做一套完整的后端项目,这篇路线都可以作为参考。
一、Python 后端到底是做什么的?
后端可以理解为一个系统的“服务端大脑”。
用户在网页或 App 上点击按钮,比如登录、下单、上传文件、查看数据,前端负责展示页面,后端负责处理真正的业务逻辑:
- 校验账号密码是否正确
- 查询数据库里的用户信息
- 判断用户有没有权限
- 创建订单、扣库存、写入数据库
- 返回 JSON 数据给前端
- 记录日志,处理异常
- 调用第三方服务或 AI 模型接口
一个最简单的后端请求流程大概是:
浏览器/前端
-> 发送 HTTP 请求
-> 后端接口接收请求
-> 校验参数和权限
-> 查询 MySQL / Redis
-> 执行业务逻辑
-> 返回 JSON 响应
所以,Python 后端不是只会写 Python 语法就够了,还要懂 HTTP、数据库、鉴权、缓存、部署和项目结构。
二、第一阶段:Python 基础补强
如果你已经学过 Python 基础语法,不需要把所有基础教程重新刷一遍。但下面这些内容必须扎实,因为后端框架和项目里会反复用到。
1. 基础语法和数据结构
需要掌握:
- str、int、float、bool
- list、dict、tuple、set
- if / else
- for / while
- 函数、参数、返回值
- 列表推导式、字典推导式
- 字符串格式化,尤其是 f-string
后端项目里,最常用的数据结构是 dict 和 list。
比如接口返回 JSON,本质上就是 Python 字典和列表:
user = {
"id": 1,
"username": "tom",
"roles": ["admin", "editor"]
}
2. 函数和参数
函数是后端代码组织的基础。
你要能看懂:
def create_user(username: str, password: str, is_active: bool = True):
return {
"username": username,
"is_active": is_active
}
重点理解:
- 普通参数
- 默认参数
- *args
- **kwargs
- 返回值
- 类型注解
特别注意:不要用可变对象做默认参数。
错误写法:
def add_item(item, items=[]):
items.append(item)
return items
正确写法:
def add_item(item, items=None):
if items is None:
items = []
items.append(item)
return items
这个问题是 Python 面试高频题。
3. 面向对象编程
后端项目里经常会写 Service、Repository、Client 这类对象。
你至少要理解:
- 类和对象
- __init__
- 实例属性
- 实例方法
- 继承
- 多态
- @property
- 类方法和静态方法
示例:
class UserService:
def __init__(self, user_repo):
self.user_repo = user_repo
def get_user(self, user_id: int):
return self.user_repo.find_by_id(user_id)
这种写法在项目里很常见:Service 层负责业务逻辑,Repository 层负责数据库访问。
4. 装饰器
装饰器是 Python 后端非常重要的知识点。
很多框架里的 @app.get()、@login_required、@pytest.fixture,本质上都和装饰器有关。
简单理解:装饰器就是在不修改原函数代码的情况下,给函数增加额外功能。
示例:
import time
def timer(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
print("耗时:", time.time() - start)
return result
return wrapper
@timer
def query_user():
print("查询用户")
面试常问:
- 装饰器是什么?
- 闭包是什么?
- 为什么要用 functools.wraps?
- 装饰器在后端里有哪些应用?
5. 生成器和迭代器
生成器适合处理大数据、流式数据、分页读取。
示例:
def read_lines(file_path):
with open(file_path, "r", encoding="utf-8") as f:
for line in f:
yield line
生成器不会一次性把所有内容读进内存,而是用到一行生成一行。
后端里处理大文件、日志、流式响应时,经常会碰到这个概念。
6. 异常处理
后端项目里,异常处理非常重要。
基础语法:
try:
user = get_user(user_id)
except UserNotFound:
return {"code": 404, "message": "用户不存在"}
except Exception as e:
return {"code": 500, "message": "服务器内部错误"}
finally:
print("请求处理结束")
注意:
- 不要到处裸写 except:
- 不要把内部错误栈直接返回给用户
- 要区分业务异常和系统异常
- 后端接口要返回清晰的错误状态码
7. 虚拟环境和包管理
Python 项目一定要用虚拟环境。
创建虚拟环境:
python -m venv .venv
Windows 激活:
.venv\Scripts\activate
安装依赖:
python -m pip install fastapi uvicorn
导出依赖:
python -m pip freeze > requirements.txt
为什么推荐 python -m pip install?
因为它能保证 pip 和当前 Python 解释器是同一个环境,避免“包安装了但代码 import 不到”的问题。
三、第二阶段:Web 后端前置知识
很多人直接学框架,结果碰到跨域、状态码、JWT、Cookie、Session 就懵。
所以在学 FastAPI、Django 之前,必须先理解 Web 后端的基础概念。
1. HTTP 请求和响应
HTTP 是浏览器和服务器之间的通信规则。
一个请求通常包含:
- 请求方法
- URL
- 请求头
- 查询参数
- 请求体
一个响应通常包含:
- 状态码
- 响应头
- 响应体
示例:
GET /api/users/1 HTTP/1.1
Host: example.com
Authorization: Bearer token
后端返回:
{
"id": 1,
"username": "tom"
}
2. 常见 HTTP 方法
常见方法:
GET 查询数据
POST 创建数据或提交数据
PUT 全量更新
PATCH 局部更新
DELETE 删除数据
例如:
GET /users 查询用户列表
GET /users/1 查询单个用户
POST /users 创建用户
PUT /users/1 更新用户全部信息
PATCH /users/1 更新用户部分信息
DELETE /users/1 删除用户
3. 常见状态码
必须掌握:
200 请求成功
201 创建成功
204 成功但无返回内容
400 请求参数错误
401 未认证,没登录或 token 错误
403 已登录但没权限
404 资源不存在
409 资源冲突,比如重复创建
422 参数校验失败,FastAPI 常见
500 服务器内部错误
502 网关错误
503 服务不可用
面试里经常问:401 和 403 有什么区别?
答案:
- 401:你还没证明你是谁
- 403:你已经证明了你是谁,但你没有权限访问这个资源
4. HTTPS 是什么?
HTTPS 可以理解为:
HTTPS = HTTP + TLS 加密
HTTP 是明文传输,容易被窃听或篡改。
HTTPS 会做两件事:
- 加密通信内容
- 通过证书验证服务器身份
所以登录、支付、后台接口、AI API 调用都应该使用 HTTPS。
5. CORS 跨域
跨域不是后端服务之间的问题,而是浏览器的安全限制。
只要协议、域名、端口有一个不同,就算跨域。
例如:
前端:http://localhost:5173
后端:http://localhost:8000
端口不同,所以浏览器认为这是跨域。
后端需要配置允许的来源:
from fastapi.middleware.cors import CORSMiddleware
app.add_middleware(
CORSMiddleware,
allow_origins=["http://localhost:5173"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
注意:Postman 不受浏览器 CORS 限制,所以 Postman 能请求成功,不代表前端浏览器一定能请求成功。
6. RESTful API
RESTful 是一种 API 设计风格。
核心思想:
- URL 表示资源
- HTTP 方法表示动作
- 状态码表达结果
例如:
GET /articles/1
表示查询 id 为 1 的文章。
不推荐:
/getArticleById?id=1
RESTful 不是什么强制标准,但它能让接口更清晰、更容易维护。
四、第三阶段:认证、授权与 JWT
后端开发离不开登录鉴权。
1. 认证和授权
一句话:
认证:确认你是谁
授权:确认你能做什么
例如:
- 用户输入账号密码登录,这是认证
- 普通用户不能删除别人文章,这是授权
2. Session 和 Token
Session 是有状态方案。
流程:
用户登录
-> 服务端保存 session
-> 浏览器保存 session_id
-> 下次请求带 session_id
-> 服务端查 session
Token 是无状态方案。
流程:
用户登录
-> 服务端生成 token
-> 前端保存 token
-> 请求时放到 Authorization Header
-> 后端验证 token
3. JWT 基本流程
JWT 通常由三部分组成:
Header.Payload.Signature
登录流程:
1. 用户提交账号密码
2. 后端验证密码
3. 验证成功后生成 JWT
4. 前端保存 JWT
5. 请求接口时携带 Authorization: Bearer token
6. 后端解析 token,得到当前用户
注意:
JWT 默认不是加密,只是编码加签。
所以不要把密码、身份证号、API Key 这类敏感信息放进 JWT Payload。
4. 密码为什么不能明文存储?
数据库一旦泄漏,明文密码会直接暴露。
正确做法是存密码哈希:
password -> bcrypt/argon2 -> password_hash
登录时不是解密密码,而是拿用户输入的密码再次哈希,然后和数据库里的哈希比较。
五、第四阶段:MySQL
MySQL 是后端绕不开的核心技术。
你至少要掌握:
- 建表
- 增删改查
- 多表关联
- 索引
- 事务
- 表设计
- 慢查询优化
1. 基础 CRUD
INSERT INTO users (username, email) VALUES ('tom', 'tom@example.com');
SELECT * FROM users WHERE id = 1;
UPDATE users SET username = 'jack' WHERE id = 1;
DELETE FROM users WHERE id = 1;
2. 表设计
常见字段:
id
username
email
password_hash
created_at
updated_at
deleted_at
表设计要考虑:
- 主键
- 唯一约束
- 外键或逻辑关联
- 字段类型
- 索引
- 状态字段
- 创建时间和更新时间
3. 索引
索引可以理解为数据库的目录。
没有索引时,数据库可能要全表扫描。
有索引时,可以更快定位数据。
适合建索引的字段:
- 经常用于 where
- 经常用于 join
- 经常用于 order by
- 区分度较高
不适合乱建索引。
因为索引会:
- 占用空间
- 降低写入速度
- 增加维护成本
4. 联合索引和最左前缀
假设有联合索引:
INDEX idx_user_status_created (user_id, status, created_at)
可以较好利用索引的查询:
WHERE user_id = 1
WHERE user_id = 1 AND status = 'paid'
WHERE user_id = 1 AND status = 'paid' AND created_at > '2026-01-01'
不容易完整利用这个索引:
WHERE status = 'paid'
因为跳过了最左边的 user_id。
5. 事务
事务保证一组操作要么全部成功,要么全部失败。
典型例子:转账。
A 扣 100 元
B 加 100 元
这两个操作必须放在一个事务里。
如果 A 扣了钱,B 没加上,就会出现严重数据错误。
事务的 ACID:
Atomicity 原子性
Consistency 一致性
Isolation 隔离性
Durability 持久性
面试高频:
- 什么是事务?
- 事务隔离级别有哪些?
- 什么是脏读、不可重复读、幻读?
- MySQL 索引为什么能加速查询?
- EXPLAIN 怎么看?
六、第五阶段:Redis
Redis 是内存数据库,常用于缓存、计数器、分布式锁、排行榜、任务状态。
1. Redis 常见数据结构
String 字符串,缓存、计数器
Hash 对象字段
List 列表、简单队列
Set 去重、集合运算
ZSet 排行榜、权重排序
2. Redis 常见使用场景
缓存用户信息:
user:1 -> {"id":1,"name":"tom"}
验证码:
sms:13800000000 -> 9527,设置 5 分钟过期
排行榜:
ZSet:score 作为分数,user_id 作为成员
分布式锁:
SET lock_key unique_value NX EX 10
3. 缓存穿透、击穿、雪崩
缓存穿透:
查询一个根本不存在的数据,缓存没有,数据库也没有。
解决:
- 参数校验
- 缓存空值
- 布隆过滤器
缓存击穿:
某个热点 key 过期瞬间,大量请求同时打到数据库。
解决:
- 互斥锁
- 热点 key 不过期
- 提前刷新缓存
缓存雪崩:
大量 key 同时过期,或者 Redis 故障,请求全部打到数据库。
解决:
- TTL 加随机值
- 多级缓存
- 限流降级
七、第六阶段:ORM 和数据库访问
ORM 的作用是把数据库表映射成 Python 对象。
常见 ORM:
- Django ORM
- SQLAlchemy
- Tortoise ORM
示例:
user = User(username="tom", email="tom@example.com")
session.add(user)
session.commit()
ORM 优点:
- 提高开发效率
- 减少重复 SQL
- 更容易组织模型关系
ORM 缺点:
- 复杂 SQL 不够直观
- 容易产生 N+1 查询
- 性能问题可能被隐藏
N+1 查询问题
例如先查 100 篇文章,然后每篇文章再单独查一次作者。
1 次查询文章
100 次查询作者
总共 101 次查询
这就是 N+1。
解决方式:
- join
- select_related
- prefetch_related
- 批量查询
八、第七阶段:Flask、FastAPI、Django 怎么选?
Python 后端常见框架有三个:
Flask
FastAPI
Django
1. Flask
Flask 是轻量级 Web 框架。
优点:
- 简单
- 灵活
- 适合理解 Web 框架原理
缺点:
- 很多东西需要自己选扩展
- 项目大了需要自己设计结构
适合:
- 入门
- 小项目
- 原理学习
2. FastAPI
FastAPI 是现代 Python API 框架。
优点:
- 类型注解友好
- Pydantic 自动参数校验
- 自动生成 Swagger 文档
- 支持 async/await
- 非常适合写 API 服务
示例:
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class UserCreate(BaseModel):
username: str
password: str
@app.post("/users")
def create_user(payload: UserCreate):
return {
"username": payload.username
}
适合:
- 前后端分离项目
- RESTful API
- AI 应用后端
- Agent 服务接口
- 中小型后端项目
3. Django
Django 是全功能框架。
自带:
- ORM
- Admin 后台
- 用户认证
- 权限系统
- 表单
- 模板
- 数据库迁移
适合:
- 后台管理系统
- 内容管理系统
- 快速交付项目
- 需要 Admin 的业务系统
如果你是为了 Python 后端和 AI 应用开发,我建议:
Flask 简单了解原理
FastAPI 重点掌握
Django + DRF 了解并能做项目
九、第八阶段:FastAPI 必学知识点
如果只选一个 Python 后端框架深入,我建议优先学 FastAPI。
1. 路由
@app.get("/users/{user_id}")
def get_user(user_id: int):
return {"user_id": user_id}
2. 查询参数
@app.get("/users")
def list_users(page: int = 1, page_size: int = 20):
return {
"page": page,
"page_size": page_size
}
3. 请求体
from pydantic import BaseModel
class LoginRequest(BaseModel):
username: str
password: str
@app.post("/login")
def login(payload: LoginRequest):
return {"token": "fake-token"}
4. 依赖注入
from fastapi import Depends
def get_current_user():
return {"id": 1, "username": "tom"}
@app.get("/me")
def me(user=Depends(get_current_user)):
return user
依赖注入常用于:
- 获取当前用户
- 数据库连接
- 权限校验
- 公共参数
5. 异步任务
AI 分析、发邮件、生成报告、处理大文件,都不适合直接阻塞接口。
简单任务可以用 FastAPI BackgroundTasks。
复杂任务建议用 Celery + Redis。
十、第九阶段:Django 和 DRF 必学知识点
Django 不一定要学到非常深,但下面这些要会。
1. Django 请求生命周期
请求进入
-> 中间件
-> URL 路由
-> View
-> ORM 查询
-> 返回 Response
-> 响应中间件
-> 返回浏览器
2. Django ORM
User.objects.create(username="tom")
User.objects.filter(is_active=True)
User.objects.get(id=1)
3. QuerySet 惰性执行
qs = User.objects.filter(is_active=True)
这行代码通常还没真正查询数据库。
当你执行:
list(qs)
才会触发查询。
4. select_related 和 prefetch_related
用于解决 N+1 查询。
Order.objects.select_related("user")
适合外键、一对一。
Article.objects.prefetch_related("tags")
适合多对多、反向外键。
5. DRF Serializer
Serializer 用于:
- 参数校验
- 对象转 JSON
- JSON 转对象
- 控制输出字段
示例:
from rest_framework import serializers
class UserSerializer(serializers.Serializer):
id = serializers.IntegerField()
username = serializers.CharField()
email = serializers.EmailField()
十一、第十阶段:Celery 异步任务
后端接口不能什么都同步执行。
比如:
- 发邮件
- 生成报表
- 调用大模型
- 处理视频
- 分析简历
- 生成 Bug 报告
这些任务可能耗时很久,应该交给异步任务队列。
Celery 基本组件:
task 任务函数
broker 消息中间件,比如 Redis/RabbitMQ
worker 后台执行任务的进程
backend 保存任务结果
基本流程:
接口收到请求
-> 创建任务
-> 返回 task_id
-> worker 后台执行
-> 前端查询任务状态
这也是很多 AI 应用后端的核心模式:
用户上传文件
-> 后端创建 AI 分析任务
-> Celery 后台调用模型
-> 分析完成后保存结果
-> 前端查询结果
十二、第十一阶段:Linux、Docker、Nginx 和部署
后端不能只在本地跑。
工程化能力包括:
- Git
- Linux
- Docker
- Nginx
- 日志
- 环境变量
- 部署
- CI/CD
1. Linux 基础命令
必须会:
pwd
ls
cd
cat
tail -f app.log
grep "ERROR" app.log
ps aux
kill
curl http://127.0.0.1:8000/health
ss -lntp
线上排查问题时,经常就是看日志、查进程、测端口、测接口。
2. Docker
Docker 用来打包应用和环境。
Dockerfile 示例:
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
3. Docker Compose
一个后端项目通常不止一个服务。
可能包括:
FastAPI
MySQL
Redis
Celery worker
Nginx
Docker Compose 可以一条命令启动多个服务。
docker compose up -d
4. Nginx
Nginx 常用于:
- 反向代理
- HTTPS
- 静态文件服务
- 负载均衡
- 请求大小限制
简单理解:
用户请求
-> Nginx
-> FastAPI/Django
十三、Python 后端项目怎么做才有含金量?
纯 CRUD 项目很容易被面试官认为太简单。
一个有含金量的后端项目,至少要包含下面几类能力中的一部分。
1. 用户系统
功能:
- 注册
- 登录
- 密码哈希
- JWT
- Refresh Token
- 权限控制
2. 数据库设计
至少包含:
- 多张表
- 主键
- 唯一约束
- 索引
- 状态字段
- 创建时间和更新时间
3. Redis
可以做:
- 热点数据缓存
- 验证码
- 限流
- 分布式锁
- 任务状态缓存
4. 异步任务
可以做:
- 邮件发送
- 报表生成
- 文件解析
- AI 模型调用
- 订单超时取消
5. 工程化
要有:
- README
- requirements.txt
- .env.example
- Dockerfile
- docker-compose.yml
- 测试
- 日志
- API 文档
十四、推荐 3 个 Python 后端项目
项目一:电商后端系统
适合练习传统后端能力。
功能:
- 用户注册登录
- 商品列表和详情
- 商品搜索和分页
- 购物车
- 订单创建
- 订单状态流转
- Redis 缓存商品详情
- Celery 处理订单超时取消
- Docker Compose 部署
亮点:
- MySQL 表设计
- Redis 缓存
- JWT 鉴权
- 异步任务
- 订单状态机
项目二:AI 简历分析系统
适合想转 AI 应用开发的同学。
功能:
- 用户登录
- 简历上传
- PDF / Word 解析
- 调用大模型分析简历
- 根据岗位 JD 给出匹配度
- 异步生成分析报告
- 保存历史记录
亮点:
- FastAPI
- 文件上传
- Celery 异步任务
- LLM API 调用
- Prompt 结构化输出
- 分析结果持久化
项目三:任务调度监控平台
适合展示工程化能力。
功能:
- 创建定时任务
- 手动执行任务
- 查看执行日志
- 查看成功率和失败率
- 失败告警
- Docker Compose 一键启动
亮点:
- Celery Beat
- Redis
- 任务状态机
- 日志系统
- 监控看板
十五、Python 后端面试高频问题
下面这些问题建议重点准备。
Python 基础
- Python 是强类型还是弱类型?
- is 和 == 有什么区别?
- 可变对象和不可变对象有什么区别?
- 为什么不能用可变对象做函数默认参数?
- 装饰器是什么?
- 生成器是什么?
- GIL 是什么?
- 多线程、多进程、协程有什么区别?
- with 上下文管理器原理是什么?
- 浅拷贝和深拷贝有什么区别?
HTTP 和 API
- GET 和 POST 有什么区别?
- PUT 和 PATCH 有什么区别?
- 401 和 403 有什么区别?
- HTTPS 为什么安全?
- 什么是 CORS?
- RESTful API 怎么设计?
- Cookie、Session、Token 有什么区别?
- JWT 登录流程是什么?
MySQL
- 索引是什么?
- B+ 树索引为什么适合数据库?
- 联合索引最左前缀原则是什么?
- 事务 ACID 是什么?
- 脏读、不可重复读、幻读是什么?
- MySQL 慢查询怎么优化?
- EXPLAIN 怎么看?
- 什么是 MVCC?
Redis
- Redis 为什么快?
- Redis 常见数据结构有哪些?
- 缓存穿透、击穿、雪崩是什么?
- Redis 分布式锁怎么实现?
- Redis 持久化 RDB 和 AOF 有什么区别?
- Redis 过期策略和淘汰策略是什么?
框架
- Flask、FastAPI、Django 有什么区别?
- FastAPI 为什么适合写 API?
- Pydantic 是做什么的?
- Depends 依赖注入有什么用?
- Django 请求生命周期是什么?
- Django 中间件执行顺序是什么?
- DRF Serializer 是做什么的?
- select_related 和 prefetch_related 有什么区别?
工程化
- Docker 镜像和容器有什么区别?
- docker-compose 有什么作用?
- Nginx 反向代理是什么?
- Linux 如何查看端口和日志?
- 后端服务 500 错误怎么排查?
- 日志里为什么要有 request_id?
- CI/CD 是什么?
十六、学完到什么程度可以做项目?
不要等“全部学完”再做项目。
比较合理的节奏是:
学完 Python 基础 -> 写小脚本
学完 HTTP -> 写简单接口
学完 MySQL -> 做 CRUD
学完 FastAPI -> 做完整 API 项目
学完 Redis/Celery -> 给项目加亮点
学完 Docker -> 做部署和 README
项目是最好的学习方式。
你看十遍 JWT,不如自己写一次登录。
你背十遍 Redis,不如自己做一次缓存和限流。
你看十个 Docker 教程,不如把自己的项目 Docker 化。
十七、给零基础同学的学习建议
1. 不要一开始就追求“精通”
后端知识很多,不可能一遍全学透。
第一轮目标是:
知道是什么
知道为什么用
能写一个简单例子
能在项目里用起来
后面再通过项目和面试题补深度。
2. 不要只看视频
只看视频很容易产生“我会了”的错觉。
正确方式:
看一小节
-> 自己敲代码
-> 改参数
-> 故意制造错误
-> 看报错
-> 总结笔记
3. 不要背框架 API,要理解后端通用能力
框架会变,但后端核心能力不会变:
- HTTP
- 数据库
- 缓存
- 鉴权
- 日志
- 异常处理
- 部署
- 测试
你会 FastAPI,再学 Django 会快很多。
你会 Python 后端,再转 Go、Java 也不会从零开始。
4. 如果未来想学 AI 应用开发,后端更要打牢
很多 AI 应用不是一个简单聊天框,而是一整套后端系统。
比如 RAG、Agent、AI 简历分析、AI Bug 定位,都需要:
- 文件上传
- 用户鉴权
- 数据库存储
- Redis 缓存
- 异步任务
- 模型 API 调用
- 日志和成本监控
- Docker 部署
所以,Python 后端是 AI 应用开发的地基。
十八、总结
Python 后端学习路线可以总结成一句话:
先打牢 Python 基础,再理解 HTTP 和数据库,
然后重点掌握 FastAPI/Django,
最后通过项目补齐 Redis、Celery、Docker、部署和工程化能力。
如果你是零基础,不要被一堆名词吓到。
按这个顺序学:
Python 基础
HTTP / RESTful / JWT
MySQL / Redis
FastAPI
Django / DRF
Celery
Docker / Linux / Nginx
项目实战
面试复盘
学完后,你至少应该能独立做出一个这样的项目:
用户登录 + JWT 鉴权
CRUD 接口
MySQL 表设计
Redis 缓存
Celery 异步任务
Docker Compose 一键启动
Swagger API 文档
README 项目说明
这就已经不是“只会语法”的水平了,而是具备了真正的后端项目能力。
最后送给刚开始学后端的同学一句话:
不要只追求“我看过多少教程”,要追求“我能不能把一个项目从 0 跑起来,并且讲清楚为什么这么设计”。
如果这篇文章对你有帮助,可以收藏起来,后面我也会继续整理 FastAPI、MySQL、Redis、Docker、AI 应用开发相关的学习笔记。
thon 基础到 FastAPI / Django / MySQL / Redis / Docker 项目实战
更多推荐
所有评论(0)