标签
内容简介
本书是Flask开发领域流传最广的中文入门教材之一,由长期从事Python Web开发的米格尔·格林贝格撰写,安道翻译,属于图灵程序设计丛书。全书共18章,分三个部分。第一部分从最基础的环境搭建讲起,介绍虚拟环境与pip、应用的基本结构、路由与视图函数、请求—响应循环、请求钩子与上下文,随后依次讲解Jinja2模板、Flask-Bootstrap、Flask-Moment、Web表单与WTForms、SQLAlchemy数据库建模与迁移、Flask-Mail邮件发送,以及用应用工厂函数和蓝本组织大型应用的方法。第二部分是一个贯穿全书的实战项目:从零构建名为Flasky的社交博客应用,逐章加入用户认证、角色权限、用户资料与头像、博客文章与分页及Markdown富文本、关注者关系、评论管理,最后用Flask-HTTPAuth与JSON序列化实现REST式应用编程接口。第三部分面向上线,讲解测试与代码覆盖度、Selenium端到端测试、性能分析与慢查询记录、Heroku与Docker容器以及传统服务器的部署方式,并给出寻找扩展和参与社区的资源指引。第2版针对Python 3.6全面修订,篇幅精炼,重在把框架特性串成一条可落地的完整开发链路,适合作为系统学习Flask的主线读物。
编辑推荐
很多Python学习者的困境是:语法会了,却不知道一个真实网站是怎么一步步长出来的。这本书的价值正在于此——它不讲零散的知识点,而是用“做一个小型社交博客”这条主线,把Flask从路由、模板、表单、数据库到用户认证、权限、评论、API全部串起来,读完你能得到一个自己写完、能跑起来、能上线的完整项目。 本书结构清晰是最大优点:第一部分打地基,每一章只引入一类必要概念和对应扩展;第二部分边做边把前面分散的知识缝合进同一个工程,让你理解工厂函数和蓝本存在的理由;第三部分专门讲测试、性能与部署,这部分恰恰是多数入门书缺失的“最后一百米”。 第2版针对Python 3.6全面修订,篇幅控制在两百余页,不写废话,代码示例密度高。需要提醒的是:技术类书籍的版本时效性天然有限,书中不少扩展库的配置方式在新版本中已有变化,因此它更适合当作“理解Flask工程化开发思路”的教材,而不是逐个复制代码的速查手册。配合官方文档与最新版本实践一起读,收益最大。
适合谁读
适合
- 熟悉Python基础语法、想系统入门Web后端开发的程序员或学生
- 已经会用Django或其他框架,想快速了解Flask轻量级开发模式的开发者
- 需要独立完成一个带用户系统、评论和API的完整小项目的自学者
- 正在做毕业设计或课程设计、缺少实战项目经验的高年级本科生与研究生
不适合
- 完全没有编程基础、尚未学过Python基本语法与面向对象概念的读者
- 只想查找Flask最新版本API速查手册、不打算按章节动手实践的人
- 主要做前端或数据科学、短期内不需要搭建Web服务端的读者
阅读建议
- 务必边读边敲代码,第一部分每章结束后亲手复现示例,否则到第二部分会跟不上项目节奏。
- 先读第2章和第7章,理解应用工厂函数与蓝本的用意,再回头逐章补细节,能明显降低理解难度。
- 书中的扩展版本较旧,动手时对照各扩展官网最新文档调整配置,遇到报错优先查阅官方变更说明。
- 读完后不要停在Flasky项目上,自己重写一个主题不同的小应用(如书籍收藏或待办清单),把知识迁移验证一遍。
出版社简介
人民邮电出版社
中国 · 成立于 1953 年
人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。
目录
- 前言
- 第一部分 Flask简介
- 第1章 安装
- 1.1 创建应用目录
- 1.2 虚拟环境
- 1.3 在Python 3中创建虚拟环境
- 1.4 在Python 2中创建虚拟环境
- 1.5 使用虚拟环境
- 1.6 使用pip安装Python包
- 第2章 应用的基本结构
- 2.1 初始化
- 2.2 路由和视图函数
- 2.3 一个完整的应用
- 2.4 Web开发服务器
- 2.5 动态路由
- 2.6 调试模式
- 2.7 命令行选项
- 2.8 请求–响应循环
- 2.9 Flask扩展
- 第3章 模板
- 3.1 Jinja2模板引擎
- 3.2 使用Flask-Bootstrap集成Bootstrap
- 3.3 自定义错误页面
- 3.4 链接
- 3.5 静态文件
- 3.6 使用Flask-Moment本地化日期和时间
- 第4章 Web表单
- 4.1 配置
- 4.2 表单类
- 4.3 把表单渲染成HTML
- 4.4 在视图函数中处理表单
- 4.5 重定向和用户会话
- 4.6 闪现消息
- 第5章 数据库
- 5.1 SQL数据库
- 5.2 NoSQL数据库
- 5.3 使用SQL还是NoSQL
- 5.4 Python数据库框架
- 5.5 使用Flask-SQLAlchemy管理数据库
- 5.6 定义模型
常见问题
这本书适合完全没有编程基础的人吗?
不太适合。书中假设读者已经掌握Python的基本语法、函数、类和模块的用法,只简要提及虚拟环境与pip。若尚未写过Python程序,建议先学一门Python入门课,再回来读本书,否则前两章就会卡住。
第1版和第2版有什么区别,该买哪一本?
第2版针对Python 3.6全面修订了代码与依赖,并新增了Docker容器部署等内容,结构也做了调整;第1版对应Python 2时代的写法。如今应选第2版,Python 2相关内容已无实际意义。
书里的示例代码在新版本Python和扩展库上还能跑吗?
基本思路仍然成立,但部分扩展的导入方式、配置名和命令已发生变化,直接复制可能报错。建议以书中流程为骨架,具体参数查阅当前版本的官方文档,遇到不兼容处自行调整。
读完后能独立开发一个上线的Web项目吗?
可以完成结构完整的项目骨架。书中涵盖了认证、权限、数据库迁移、API、测试与部署等关键环节,但真实项目还需要补充缓存、异步任务、安全加固与运维监控等知识,本书是起点而非终点。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。