Flask Web开发实战:入门、进阶与原理解析

Flask Web开发实战:入门、进阶与原理解析

Web开发技术丛书

9.2233 评价豆瓣读书
春暖花开季 恰是读书时满500减300、满200减120、满100减60活动详情

作品简介

这是一本面向Python程序员的,全面介绍Python Web框架Flask的书。关于本书的详细介绍、相关资源等更多信息可以访问本书的官方主页http://helloflask.com/book了解。

•国内首本Flask著作,在内容上涵盖完整的Flask Web开发学习路径,在实践上包含完整的Flask Web程序开发流程。同时兼容Python2.7和Python3.6。

•内容最新,基于Flask1.0.2版本,所有的Python库、前端框架和JavaScript库均使用最新版本。

•内容全面,除了基础知识,还包含Web API、全文搜索、国际化和本地化、第三方登录、AJAX、WebSocket、源码分析、扩展开发等实用内容。

•实战性强,包含8个示例程序,5个实战项目和1个Flask扩展。实战项目包括留言板、个人博客、图片社交网站、待办事项程序和聊天室,分别对应不同的知识点,难度递增。

•5个实战项目的Git标签经过精心设置,每个标签都对应新增的某个程序功能。

•全书所有章节均经过精心设计和编排,力求满足不同水平读者的需要,并且让读者可以循序渐进的掌握Flask开发知识和技巧。

•通过丰富的图表和代码示例讲解复杂知识点,尽量做到通俗易懂。

本书共16章,分为三部分。

第一部分:基础篇(第1~6章)

通过大量的程序实例详细介绍了Flask的所有基础知识,同时在每章的后面又提供了一些进阶技巧,供进阶读者学习。

第二部分:实战篇(第7~11章)

通过5个真实的项目案例来串接和阐释不同的知识点,难度逐渐递增。这5个案例分别为:留言板SayHello、个人博客Bluelog、图片社交网站Albumy、待办事项程序Todoism和聊天室CatChat。

第三部分:进阶篇(第12~16章)

首先介绍了Flask程序的部署流程:测试、性能优化和部署上线;然后通过一个真实的实例讲解了Flask扩展的开发,最后以源代码为切入点深入剖析了Flask的实现原理与主要工作机制。

李辉(Grey Li),Flask官方开发团队(Pallets Team)成员,知乎专栏“Hello,Flask!”作者,HelloFlask.com网站创建者。对Flask有非常深入的研究,熟悉它的源代码,有丰富的项目经验。

他热爱分享和创造,曾为Flask等多个开源项目贡献过代码,你可以在GitHub(github.com/greyli)上看到他的开源活动。在他的个人网站(greyli.com)上,你可以了解到关于他的更多信息。

作品目录

  1. 前言
  2. 第一部分 基础篇
  3. 第1章 初识Flask
  4. 1.1 搭建开发环境
  5. 1.2 Hello,Flask!
  6. 1.3 启动开发服务器
  7. 1.4 Python Shell
  8. 1.5 Flask扩展
  9. 1.6 项目配置
  10. 1.7 URL与端点
  11. 1.8 Flask命令
  12. 1.9 模板与静态文件
  13. 1.10 Flask与MVC架构
  14. 1.11 本章小结
  15. 第2章 Flask与HTTP
  16. 2.1 请求响应循环
  17. 2.2 HTTP请求
  18. 2.3 HTTP响应
  19. 2.4 Flask上下文
  20. 2.5 HTTP进阶实践
  21. 2.6 本章小结
  22. 第3章 模板
  23. 3.1 模板基本用法
  24. 3.2 模板辅助工具
  25. 3.3 模板结构组织
  26. 3.4 模板进阶实践
  27. 3.5 本章小结
  28. 第4章 表单
  29. 4.1 HTML表单
  30. 4.2 使用Flask-WTF处理表单
  31. 4.3 处理表单数据
  32. 4.4 表单进阶实践
  33. 4.5 本章小结
  34. 第5章 数据库
  35. 5.1 数据库的分类
  36. 5.2 ORM魔法
  37. 5.3 使用Flask-SQLAlchemy管理数据库
  38. 5.4 数据库操作
  39. 5.5 定义关系
  40. 5.6 更新数据库表
  41. 5.7 数据库进阶实践
  42. 5.8 本章小结
  43. 第6章 电子邮件
  44. 6.1 使用Flask-Mail发送电子邮件
  45. 6.2 使用事务邮件服务SendGrid
  46. 6.3 电子邮件进阶实践
  47. 6.4 本章小结
  48. 第二部分 实战篇
  49. 第7章 留言板
  50. 7.1 使用包组织代码
  51. 7.2 Web程序开发流程
  52. 7.3 使用Bootstrap-Flask简化页面编写
  53. 7.4 使用Flask-Moment本地化日期和时间
  54. 7.5 使用Faker生成虚拟数据
  55. 7.6 使用Flask-DebugToolbar调试程序
  56. 7.7 Flask配置的两种组织形式
  57. 7.8 本章小结
  58. 第8章 个人博客
  59. 8.1 大型项目结构
  60. 8.2 编写程序骨架
  61. 8.3 编写博客前台
  62. 8.4 初始化博客
  63. 8.5 使用Flask-Login管理用户认证
  64. 8.6 使用CSRFProtect实现CSRF保护
  65. 8.7 编写博客后台
  66. 8.8 本章小结
  67. 第9章 图片社交网站
  68. 9.1 项目组织架构
  69. 9.2 编写程序骨架
  70. 9.3 高级用户认证
  71. 9.4 基于用户角色的权限管理
  72. 9.5 使用Flask-Dropzone优化文件上传
  73. 9.6 使用Flask-Avatars处理用户头像
  74. 9.7 图片展示与管理
  75. 9.8 收藏图片
  76. 9.9 用户关注
  77. 9.10 消息提醒
  78. 9.11 用户资料与账户设置
  79. 9.12 首页与探索
  80. 9.13 使用Flask-Whooshee实现全文搜索
  81. 9.14 编写网站后台
  82. 9.15 本章小结
  83. 第10章 待办事项程序
  84. 10.1 使用JavaScript和AJAX编写单页程序
  85. 10.2 国际化与本地化
  86. 10.3 设计并编写Web API
  87. 10.4 本章小结
  88. 第11章 在线聊天室
  89. 11.1 编写程序骨架
  90. 11.2 Gravatar头像
  91. 11.3 使用Flask-SocketIO建立实时双向通信
  92. 11.4 使用Flask-OAuthlib实现第三方登录
  93. 11.5 聊天室功能增强
  94. 11.6 本章小结
  95. 第三部分 进阶篇
  96. 第12章 自动化测试
  97. 12.1 认识自动化测试
  98. 12.2 Flask测试客户端
  99. 12.3 使用unittest编写单元测试
  100. 12.4 使用Selenium进行用户界面测试
  101. 12.5 使用Coverage.py计算测试覆盖率
  102. 12.6 使用Flake8检查代码质量
  103. 12.7 本章小结
  104. 第13章 性能优化
  105. 13.1 程序性能分析
  106. 13.2 使用Flask-Caching设置缓存
  107. 13.3 使用Flask-Assets优化静态资源
  108. 13.4 本章小结
  109. 第14章 部署上线
  110. 14.1 传统部署VS云部署
  111. 14.2 基本部署流程
  112. 14.3 部署前的准备
  113. 14.4 部署到Linux服务器
  114. 14.5 部署到PythonAnywhere
  115. 14.6 部署到Heroku
  116. 14.7 下一步做什么?
  117. 14.8 本章小结
  118. 第15章 Flask扩展开发
  119. 15.1 扩展的命名
  120. 15.2 扩展项目骨架
  121. 15.3 编写扩展类
  122. 15.4 添加扩展配置
  123. 15.5 实现扩展功能
  124. 15.6 开源发布前的准备
  125. 15.7 发布到PyPI
  126. 15.8 编写良好的扩展
  127. 15.9 本章小结
  128. 第16章 Flask工作原理与机制解析
  129. 16.1 阅读Flask源码
  130. 16.2 Flask的设计理念
  131. 16.3 Flask与WSGI
  132. 16.4 Flask的工作流程与机制
  133. 16.5 本章小结
  134. 附录A Flask资源
  135. A.1 本书配套资源
  136. A.2 优秀的Flask开源程序
  137. A.3 优秀的在线资源
  138. A.4 讨论与问题求助
  139. A.5 为Flask社区贡献
载入中

大家都喜欢