| 作者: | Alexander Aronowitz |
| 语言: | 英文 |
| 出版年份: | 2021 |
| 编程语言: | Python |
| 开源软件: | Web开发 |
| 下载链接: |
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。 |
| 阶段 | 章节 | 关键词 | 解决的核心痛点 |
|---|---|---|---|
| 基础与环境 | 0-1 | 虚拟环境、Hello Flask、Jinja2 过滤器 | 开发机配置、模板渲染速查 |
| 数据与模型 | 2-5 | Flask-SQLAlchemy、PostgreSQL、一对多、CRUD、会话技巧 | 数据库选型、关系映射、命令行调试 |
| 用户与交互 | 6-12 | WTForms 验证器、注册登录、Follow 系统、Join 查询、分页、Cookie 记住偏好 | 输入校验、社交关系、性能陷阱 |
(书中目录未显式分部分,以上为按主题归并)
最小可用→渐进增强
先用单文件写出可运行原型,再逐步拆成包(Blueprint)、加配置分离、上 ORM,降低认知负荷。
SQLAlchemy“三步曲”
① 模型定义 → ② 关系声明(ForeignKey+relationship) → ③ 会话提交;把常见坑(循环导入、nullable、级联)逐个指出。
一对多 & 多对多“可视化”
用“作者-文章-粉丝”三条表把 One-To-Many、Self-Referential Many-To-Many 画成“箭头图”,再映射到代码,一目了然。
WTForms 验证“全家桶”
DataRequired、Email、EqualTo、Length、NumberRange、IPAddress、AnyOf/NoneOf、Optional——覆盖 90% 场景;每条都给出错误提示模板。
性能贴士
ORDER BY RANDOM(),而用 select_from(Follow).join(...) 一次 Join 拿出“关注者的文章”,避免 N+1。lazy='dynamic' 返回查询对象,再 .paginate(),内存友好。show_followed),30 天过期,减少服务器 Session 压力。安全细节
|safe 前务必消毒 HTML。PasswordField + EqualTo('password') 双字段确认;未强制加密,但预留了 werkzeug.security 接口。pytest 与 Flask-Migrate,保证后续可 CI/CD。@app.route 仍兼容)。《Flask Framework Cookbook 2nd Edition》没有花哨的概念,只用“最小可用→渐进增强”一条主线,把环境搭建、模型关系、表单验证、社交关注、性能优化等高频需求串成可复制、可落地的 90 余个“菜谱”。如果你想用最快速度上线一个 Python Web 产品,同时又为日后微服务或 Django 重型化留好退路,这本书是性价比最高的起跑器。