作品简介

这是一本面向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章 初识Flask
  • 1.1 搭建开发环境
  • 1.2 Hello,Flask!
  • 1.3 启动开发服务器
  • 1.4 Python Shell
  • 1.5 Flask扩展
  • 1.6 项目配置
  • 1.7 URL与端点
  • 1.8 Flask命令
  • 1.9 模板与静态文件
  • 1.10 Flask与MVC架构
  • 1.11 本章小结
  • 第2章 Flask与HTTP
  • 2.1 请求响应循环
  • 2.2 HTTP请求
  • 2.3 HTTP响应
  • 2.4 Flask上下文
  • 2.5 HTTP进阶实践
  • 2.6 本章小结
  • 第3章 模板
  • 3.1 模板基本用法
  • 3.2 模板辅助工具
  • 3.3 模板结构组织
  • 3.4 模板进阶实践
  • 3.5 本章小结
  • 第4章 表单
  • 4.1 HTML表单
  • 4.2 使用Flask-WTF处理表单
  • 4.3 处理表单数据
  • 4.4 表单进阶实践
  • 4.5 本章小结
  • 第5章 数据库
  • 5.1 数据库的分类
  • 5.2 ORM魔法
  • 5.3 使用Flask-SQLAlchemy管理数据库
  • 5.4 数据库操作
  • 5.5 定义关系
  • 5.6 更新数据库表
  • 5.7 数据库进阶实践
  • 5.8 本章小结
  • 第6章 电子邮件
  • 6.1 使用Flask-Mail发送电子邮件
  • 6.2 使用事务邮件服务SendGrid
  • 6.3 电子邮件进阶实践
  • 6.4 本章小结
  • 第二部分 实战篇
  • 第7章 留言板
  • 7.1 使用包组织代码
  • 7.2 Web程序开发流程
  • 7.3 使用Bootstrap-Flask简化页面编写
  • 7.4 使用Flask-Moment本地化日期和时间
  • 7.5 使用Faker生成虚拟数据
  • 7.6 使用Flask-DebugToolbar调试程序
  • 7.7 Flask配置的两种组织形式
  • 7.8 本章小结
  • 第8章 个人博客
  • 8.1 大型项目结构
  • 8.2 编写程序骨架
  • 8.3 编写博客前台
  • 8.4 初始化博客
  • 8.5 使用Flask-Login管理用户认证
  • 8.6 使用CSRFProtect实现CSRF保护
  • 8.7 编写博客后台
  • 8.8 本章小结
  • 第9章 图片社交网站
  • 9.1 项目组织架构
  • 9.2 编写程序骨架
  • 9.3 高级用户认证
  • 9.4 基于用户角色的权限管理
  • 9.5 使用Flask-Dropzone优化文件上传
  • 9.6 使用Flask-Avatars处理用户头像
  • 9.7 图片展示与管理
  • 9.8 收藏图片
  • 9.9 用户关注
  • 9.10 消息提醒
  • 9.11 用户资料与账户设置
  • 9.12 首页与探索
  • 9.13 使用Flask-Whooshee实现全文搜索
  • 9.14 编写网站后台
  • 9.15 本章小结
  • 第10章 待办事项程序
  • 10.1 使用JavaScript和AJAX编写单页程序
  • 10.2 国际化与本地化
  • 10.3 设计并编写Web API
  • 10.4 本章小结
  • 第11章 在线聊天室
  • 11.1 编写程序骨架
  • 11.2 Gravatar头像
  • 11.3 使用Flask-SocketIO建立实时双向通信
  • 11.4 使用Flask-OAuthlib实现第三方登录
  • 11.5 聊天室功能增强
  • 11.6 本章小结
  • 第三部分 进阶篇
  • 第12章 自动化测试
  • 12.1 认识自动化测试
  • 12.2 Flask测试客户端
  • 12.3 使用unittest编写单元测试
  • 12.4 使用Selenium进行用户界面测试
  • 12.5 使用Coverage.py计算测试覆盖率
  • 12.6 使用Flake8检查代码质量
  • 12.7 本章小结
  • 第13章 性能优化
  • 13.1 程序性能分析
  • 13.2 使用Flask-Caching设置缓存
  • 13.3 使用Flask-Assets优化静态资源
  • 13.4 本章小结
  • 第14章 部署上线
  • 14.1 传统部署VS云部署
  • 14.2 基本部署流程
  • 14.3 部署前的准备
  • 14.4 部署到Linux服务器
  • 14.5 部署到PythonAnywhere
  • 14.6 部署到Heroku
  • 14.7 下一步做什么?
  • 14.8 本章小结
  • 第15章 Flask扩展开发
  • 15.1 扩展的命名
  • 15.2 扩展项目骨架
  • 15.3 编写扩展类
  • 15.4 添加扩展配置
  • 15.5 实现扩展功能
  • 15.6 开源发布前的准备
  • 15.7 发布到PyPI
  • 15.8 编写良好的扩展
  • 15.9 本章小结
  • 第16章 Flask工作原理与机制解析
  • 16.1 阅读Flask源码
  • 16.2 Flask的设计理念
  • 16.3 Flask与WSGI
  • 16.4 Flask的工作流程与机制
  • 16.5 本章小结
  • 附录A Flask资源
  • A.1 本书配套资源
  • A.2 优秀的Flask开源程序
  • A.3 优秀的在线资源
  • A.4 讨论与问题求助
  • A.5 为Flask社区贡献
展开全部