🧪 实战 Python Flask 开发 · 目录

🧪 实战 Python Flask 开发

照着《实战 Python Flask 开发》(佐藤昌基、平田哲也 監修,寺田學 著,衛宮紘 譯,碁峯資訊 GOTOP 繁体中文版,原版 SE SHOEISHA,副题「基礎知識 × 物件偵測 × 機器學習應用」)做的自学笔记 —— 这本书的路子很特别:它不教语法,直接教你交一个能上线的应用。第 0 章装环境、第 1 章写 hello,第 2 章就上数据库和增删改查,第 3 章做注册登录,中间只隔了二十来页;然后一路做完一整个物件侦测 Web 应用(传图、检测、打标签、搜索、报错页、单元测试),再把它改成 API、装进 Docker、部署到 Google Cloud Run,最后用逻辑回归从头做一个机器学习 API。五块节奏是「先能跑,再能改,最后能上线」:绪论 4 篇(第 0 章,Flask 是什么、和 Django/Bottle/FastAPI 怎么比、环境怎么装)→ Flask 入门 21 篇(1~3 章,MVT、路由、模板、表单、Flash、会话,再到 SQLAlchemy 增删改查与登录验证)→ 实作① 16 篇(4~11 章,完整物件侦测应用,从页面规格做到单元测试与覆盖率)→ 实作② 10 篇(12~15 章,包成网络 API、Docker 打包、Cloud Run 部署)→ 机器学习 API 8 篇(16~17 章,逻辑回归的数学式与代码,再改造成带错误码和请求校验的产品级 API)。三句话:路由函数返回的不是字符串,是响应,状态码、请求头、Cookie 都在响应里,make_response 之后才看得见;请求一来就进应用上下文,出函数就没了,数据库会话、current_user、url_for 全靠它活着;能跑起来不等于能交付,错误码分得清、参数校验得住、映像打得出来、容器跑得起来。教材 17 章、93 个二级节,底下还挂着约 232 个三级节,按节成篇会碎成一百多篇,所以按主题合成 59 篇、篇号章内顺排(第 0 章就是 0.1~0.4,不动它的编号)。沙箱是 Windows / Python 3.13.14,这次把 Flask 全家桶装齐了:Flask 3.1.3、Werkzeug 3.1.9、Jinja2 3.1.6、SQLAlchemy 2.1.6、flask-sqlalchemy 3.1.1、flask-migrate 4.1.0、flask-wtf 1.3.0、WTForms 3.3.2、flask-login 0.6.3、alembic 1.20.1、pytest 9.2.0、python-dotenv 1.2.4,另加 Pillow 12.3.0、numpy 2.5.2、scikit-learn 1.9.1——能真跑的全真跑,而且是真的发请求:用 app.test_client() 走与真服务器同一条处理链(路由匹配、请求解析、模板渲染、会话、重定向、状态码),真建应用、真发 GET/POST、真写数据库、真断言 302 与 404。只有四类照实标:桌面软件(Python 安装界面、VS Code 插件、Docker Desktop、GCP 控制台)标「平台原样 · 本沙箱不执行」;需要 GPU 与权重的(PyTorch/YOLO)用纯 Python 复刻「输入图片、输出标签框」的语义并注明;要联网的(Cloud Run、GCR、Gmail SMTP)讲清命令与参数、不假装跑过;教材用 Flask 2.x 写的写法(FLASK_ENV、before_first_request、app.json_encoder)逐个给出「原书写法 / 现在怎么写」对照。

内容来自我的 Obsidian 自学笔记 · 全书 18 章(第 0~17 章)、共 59 篇已全部写完 · 全书完结 🎉

第0章 Flask 的概要与环境架设

第1章 建立最基础的应用程序

第2章 建立数据库应用程序

第3章 建立验证功能

第4章 应用程序的规格与准备

第5章 建立图片列表页面

第6章 建立注册与登录页面

第7章 建立图片上传页面

第8章 建立物件侦测功能

第9章 建立搜索功能

第10章 建立自定义错误页面

第11章 建立单元测试

第12章 网络 API 的概要

第13章 物件侦测 API 的规格

第14章 实作物件侦测 API

第15章 部署物件侦测应用

第16章 机器学习概要

第17章 机器学习 API 的开发程序与实践