Flask Web开发:基于Python的Web应用开发实战
Miguel Grinberg
安道 译
出版时间:2014年12月
页数:205
“好久没有看到这么棒的技术书了!它从安装与环境设置讲起,目标则是搭建服务器端Web应用。本书直接了当地给出了读者必知必会的知识,为初学者提供了进一步探索的起点,也让中高级读者能够掌握最佳实践。”
“我不是新手,做过Flask应用开发,我以为自己完全了解相关基础知识。但实际阅读中,我却折了很多页,时不时会翻阅相关的知识点。其中的技巧和提示总能让我茅塞顿开……真是有幸读了这本书!”
“本书的组织结构非常合理。读完本书,我也亲身参与构建了Web应用,真正拾级而上掌握了强大的Flask开发。”

作为Python Web开发的微框架,Flask独树一帜。它不会强迫开发者遵循预置的开发规范,为开发者提供了自由度和创意空间。
本书作者拥有25年软件开发经验,而本书则采用讲解与实例相结合的方式,不仅介绍了Flask安装、使用等基础知识,而且还带领读者一步一步地开发了社交博客Flasky。即使从未接触Flask,你也能轻松学会构建完整的Web应用。通读本书,你能熟悉Flask的核心功能,并掌握数据库迁移、Web服务通信等高级Web技术。
本书不仅适合初级Web开发人员学习阅读,更是Python程序员用来学习高级Web开发技术的优秀参考书。

· 学习Flask应用的基本结构,编写示例应用;
· 使用必备的组件,包括模板、数据库、Web表单和电子邮件支持;
· 使用包和模块构建可伸缩的大型应用;
· 实现用户认证、角色和个人资料;
· 在博客网站中重用模板、分页显示列表以及使用富文本;
· 使用基于Flask的REST式API,在智能手机、平板电脑和其他第三方客户端上实现可用功能;
· 学习运行单元测试以及提升性能;
· 将Web应用部署到生产服务器。
  1. 前言  
  2. 第一部分 Flask简介
  3. 第1章 安装
  4. 1.1 使用虚拟环境
  5. 1.2 使用pip安装Python包
  6. 第2章 程序的基本结构
  7. 2.1 初始化
  8. 2.2 路由和视图函数
  9. 2.3 启动服务器
  10. 2.4 一个完整的程序
  11. 2.5 请求-响应循环
  12. 2.5.1 程序和请求上下文
  13. 2.5.2 请求调度
  14. 2.5.3 请求钩子
  15. 2.5.4 响应
  16. 2.6 Flask扩展
  17. 第3章 模板
  18. 3.1 Jinja2模板引擎
  19. 3.1.1 渲染模板
  20. 3.1.2 变量
  21. 3.1.3 控制结构
  22. 3.2 使用Flask-Bootstrap集成Twitter Bootstrap 
  23. 3.3 自定义错误页面
  24. 3.4 链接
  25. 3.5 静态文件
  26. 3.6 使用Flask-Moment本地化日期和时间
  27. 第4章 Web表单
  28. 4.1 跨站请求伪造保护
  29. 4.2 表单类
  30. 4.3 把表单渲染成HTML  
  31. 4.4 在视图函数中处理表单
  32. 4.5 重定向和用户会话
  33. 4.6 Flash消息
  34. 第5章 数据库
  35. 5.1 SQL数据库
  36. 5.2 NoSQL数据库
  37. 5.3 使用SQL还是NoSQL 
  38. 5.4 Python数据库框架
  39. 5.5 使用Flask-SQLAlchemy管理数据库  
  40. 5.6 定义模型
  41. 5.7 关系
  42. 5.8 数据库操作
  43. 5.8.1 创建表
  44. 5.8.2 插入行
  45. 5.8.3 修改行
  46. 5.8.4 删除行
  47. 5.8.5 查询行
  48. 5.9 在视图函数中操作数据库
  49. 5.10 集成Python shell
  50. 5.11 使用Flask-Migrate实现数据库迁移
  51. 5.11.1 创建迁移仓库
  52. 5.11.2 创建迁移脚本
  53. 5.11.3 更新数据库
  54. 第6章 电子邮件
  55. 使用Flask-Mail提供电子邮件支持
  56. 在Python shell中发送电子邮件
  57. 在程序中集成发送电子邮件功能
  58. 异步发送电子邮件
  59. 第7章 大型程序的结构
  60. 7.1 项目结构
  61. 7.2 配置选项
  62. 7.3 程序包
  63. 7.3.1 使用程序工厂函数
  64. 7.3.2 在蓝本中实现程序功能
  65. 7.4 启动脚本
  66. 7.5 需求文件
  67. 7.6 单元测试
  68. 7.7 创建数据库
  69. 第二部分 实例:社交博客程序
  70. 第8章 用户认证
  71. 8.1 Flask的认证扩展
  72. 8.2 密码安全性
  73. 8.3 创建认证蓝本
  74. 8.4 使用Flask-Login认证用户
  75. 8.4.1 准备用于登录的用户模型
  76. 8.4.2 保护路由
  77. 8.4.3 添加登录表单
  78. 8.4.4 登入用户
  79. 8.4.5 登出用户
  80. 8.4.6 测试登录
  81. 8.5 注册新用户
  82. 8.5.1 添加用户注册表单
  83. 8.5.2 注册新用户
  84. 8.6 确认账户
  85. 8.6.1 使用itsdangerous生成确认令牌  
  86. 8.6.2 发送确认邮件
  87. 8.7 管理账户
  88. 第9章 用户角色
  89. 9.1 角色在数据库中的表示
  90. 9.2 赋予角色
  91. 9.3 角色验证
  92. 第10章 用户资料
  93. 10.1 资料信息
  94. 10.2 用户资料页面
  95. 10.3 资料编辑器
  96. 10.3.1 用户级别的资料编辑器
  97. 10.3.2 管理员级别的资料编辑器
  98. 10.4 用户头像
  99. 第11章 博客文章
  100. 11.1 提交和显示博客文章
  101. 11.2 在资料页中显示博客文章
  102. 11.3 分页显示长博客文章列表
  103. 11.3.1 创建虚拟博客文章数据
  104. 11.3.2 在页面中渲染数据
  105. 11.3.3 添加分页导航
  106. 11.4 使用Markdown和Flask-PageDown支持富文本文章
  107. 11.4.1 使用Flask-PageDown  
  108. 11.4.2 在服务器上处理富文本
  109. 11.5 博客文章的固定链接
  110. 11.6 博客文章编辑器
  111. 第12章 关注者
  112. 12.1 再论数据库关系
  113. 12.1.1 多对多关系
  114. 12.1.2 自引用关系
  115. 12.1.3 高级多对多关系
  116. 12.2 在资料页中显示关注者
  117. 12.3 使用数据库联结查询所关注用户的文章
  118. 12.4 在首页显示所关注用户的文章
  119. 第13章 用户评论
  120. 13.1 评论在数据库中的表示
  121. 13.2 提交和显示评论
  122. 13.3 管理评论
  123. 第14章 应用编程接口
  124. 14.1 REST简介
  125. 14.1.1 资源就是一切
  126. 14.1.2 请求方法
  127. 14.1.3 请求和响应主体
  128. 14.1.4 版本
  129. 14.2 使用Flask提供REST Web服务
  130. 14.2.1 创建API蓝本
  131. 14.2.2 错误处理
  132. 14.2.3 使用Flask-HTTPAuth认证用户  
  133. 14.2.4 基于令牌的认证
  134. 14.2.5 资源和JSON的序列化转换
  135. 14.2.6 实现资源端点
  136. 14.2.7 分页大型资源集合
  137. 14.2.8 使用HTTPie测试Web服务
  138. 第三部分 成功在望
  139. 第15章 测试
  140. 15.1 获取代码覆盖报告
  141. 15.2 Flask测试客户端
  142. 15.2.1 测试Web程序
  143. 15.2.2 测试Web服务
  144. 15.3 使用Selenium进行端到端测试
  145. 15.4 值得测试吗
  146. 第16章 性能
  147. 16.1 记录影响性能的缓慢数据库查询  
  148. 16.2 分析源码
  149. 第17章 部署
  150. 17.1 部署流程
  151. 17.2 把生产环境中的错误写入日志
  152. 17.3 云部署
  153. 17.4 Heroku平台
  154. 17.4.1 准备程序
  155. 17.4.2 使用Foreman进行测试
  156. 17.4.3 使用Flask-SSLify启用安全HTTP  
  157. 17.4.4 执行git push命令部署
  158. 17.4.5 查看日志
  159. 17.4.6 部署一次升级
  160. 17.5 传统的托管
  161. 17.5.1 架设服务器
  162. 17.5.2 导入环境变量
  163. 17.5.3 配置日志
  164. 第18章 其他资源
  165. 18.1 使用集成开发环境
  166. 18.2 查找Flask扩展
  167. 18.3 参与Flask开发
  168. 关于封面图
书名:Flask Web开发:基于Python的Web应用开发实战
作者:Miguel Grinberg
译者:安道 译
国内出版社:人民邮电出版社
出版时间:2014年12月
页数:205
书号:978-7-115-37399-1
原版书书名:Flask Web Development: Developing Web Applications with Pyth
原版书出版商:O'Reilly Media
Miguel Grinberg
 
Miguel Grinberg拥有25年开发经验的高级软件工程师,目前为广播公司开发视频软件。他常在个人博客(blog.miguelgrinberg.com)上撰写各类博文,内容主要涉及Web开发、机器人技术、摄影,偶尔也会有一些影评。他和妻子、四个孩子、两只狗和一只猫共同生活在俄勒冈州波特兰市。Twitter:@miguelgrinberg。