码上问学问代码之理,学编程之道

课程二 · Flask 后端开发

让数据变成接口。13 章从 Hello Flask 一路讲到「古典文学网」全部 18 个 RESTful 接口的落地:路由、请求响应、上下文、蓝图工程化、ORM、JWT 鉴权、文件上传、接口测试。学完你能独立写出一套规范的 API,并用 Postman 一条条验证通过。

课程二的目标很具体:学完之后,你能打开 Postman,走通「注册 → 登录 → 拿到 token → 带上 token 查个人信息 → 发表书评 → 点赞 → 收藏」这一整条链路。这就是里程碑 M3 的验收标准。

为什么用 Flask 而不是 Django?因为我们要看得见每一层。Flask 足够小,路由、请求、响应都摆在你面前,不会有一个庞大的框架替你把魔法藏起来。当你能亲手把「一个 URL → 一个函数 → 一次数据库查询 → 一段 JSON」这条链路串起来,你对 Web 的理解才算真的建立。

开始之前:4 个绕不开的概念

建议先读,再进第 7、8 章

基础概念图解 前置

CORS(小区门禁)/ Cookie(会员卡)/ Session(存包柜)/ JWT(通行证)。用费曼方式一次讲透四个身份与边界概念。

费曼式讲解CORSJWT

13 章导航

48 学时 · 理论 16 + 上机 32

第 1 章 · 全栈开发与 Flask 起步

全栈开发概念、前后端分离、虚拟环境、Hello Flask、项目目录规范(hiflask)。

环境Hello Flask目录规范

第 2 章 · 路由

route 装饰器、变量规则 <int:id>、URL 构建 url_for、HTTP 方法。

route变量规则URL 构建

第 3 章 · 请求与响应

request 对象、query/form/json 取值、make_response、jsonify —— 接口的入口与出口。

requestjsonify响应

第 4 章 · 应用上下文与请求上下文

current_app、g 对象、上下文原理——理解 Flask 最「玄」的一层。

current_appg 对象

第 5 章 · 蓝图与项目工程化

Blueprint 拆分、配置管理(开发/生产)、应用工厂模式——从小脚本走向工程。

Blueprint配置管理工厂模式

第 6 章 · 数据库与 ORM

Flask-SQLAlchemy、模型定义、增删改查、Flask-Migrate 迁移。

SQLAlchemy模型迁移

第 7 章 · API 设计规范与统一响应

RESTful 规范、统一返回格式、全局异常处理、CORS 跨域。

RESTful统一响应异常处理

第 8 章 · 认证与鉴权(JWT) 重点

密码哈希、注册/登录接口、JWT 签发与校验、@login_required 装饰器。

JWT密码哈希鉴权装饰器

第 9 章 · 文件上传与下载

文件保存、类型与大小校验、安全文件名、静态资源访问——头像上传就靠它。

Upload安全校验

第 10 章 · 中间件、请求钩子与消息闪现

before_request / after_request、flash、请求日志。

钩子日志

第 11 章 · 类视图

MethodView、基于类的组织方式——同一资源的不同 HTTP 方法归到一个类里。

MethodView类视图

第 12 章 · 接口测试与文档

Postman/Apifox 用例、pytest 单元测试、Swagger 自动文档。

Postmanpytest

第 13 章 · 项目后端实战 收口

按《API 接口文档》实现作品、书评、收藏、用户中心共 18 个接口,Postman 全部自测通过。

18 接口全部联调

大实训 · 从零创建 Flask 项目 4 小节连堂

不抄骨架,从空文件夹开始:①最小可运行 → ②工程化拆分 → ③数据库与 JWT → ④调试与 curl 验收。每行代码带注释,验收脚本一键全绿。

4 小节逐行注释curl 验收

课程配套

写作时随时对照

API 接口文档

18 个接口的统一响应、鉴权、分页与请求/响应示例。它是本课程的「实现清单」。

清单示例

hiflask 项目骨架

应用工厂 + 蓝图 + 模型 + 配置的完整目录骨架,克隆下来就能跑,边学边往里填。

可运行骨架requirements

环境与 Postman 集合

虚拟环境、依赖安装命令速查,以及可直接导入 Postman 的接口测试集合。

命令速查Postman