Flask Web开发:基于Python的Web应用开发实战(第2版)

Flask Web开发:基于Python的Web应用开发实战(第2版)

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

全面介绍如何基于Python微框架Flask进行Web开发的作品。

内容简介

本书共分三部分:第一部分是Flask简介,介绍使用Flask框架及扩展开发Web程序的基础知识。第二部分则给出一个实例,真正带领大家一步步开发完整的博客和社交应用Flasky,从而将前述知识融会贯通,付诸实践。第三部分介绍了发布应用之前必须考虑的事项,如单元测试策略、性能分析技术、Flask程序的部署方式等。第2版针对Python 3.6全面修订。

作者简介

作者米格尔·格林贝格,近30年开发经验的软件工程师,以撰写Python项目开发的博客而广为Python开发者所熟知,经常受邀在PyCon等大会上分享开发经验。

章节目录

版权信息

O'Reilly Media, Inc. 介绍

前言

第一部分 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.8.1 应用和请求上下文

2.8.2 请求分派

2.8.3 请求对象

2.8.4 请求钩子

2.8.5 响应

2.9 Flask扩展

第3章 模板

3.1 Jinja2模板引擎

3.1.1 渲染模板

3.1.2 变量

3.1.3 控制结构

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 定义模型

5.7 关系

5.8 数据库操作

5.8.1 创建表

5.8.2 插入行

5.8.3 修改行

5.8.4 删除行

5.8.5 查询行

5.9 在视图函数中操作数据库

5.10 集成Python shell

5.11 使用Flask-Migrate实现数据库迁移

5.11.1 创建迁移仓库

5.11.2 创建迁移脚本

5.11.3 更新数据库

5.11.4 添加几个迁移

第6章 电子邮件

使用Flask-Mail提供电子邮件支持

在Python shell中发送电子邮件

在应用中集成电子邮件发送功能

异步发送电子邮件

第7章 大型应用的结构

7.1 项目结构

7.2 配置选项

7.3 应用包

7.3.1 使用应用工厂函数

7.3.2 在蓝本中实现应用功能

7.4 应用脚本

7.5 需求文件

7.6 单元测试

7.7 创建数据库

7.8 运行应用

第二部分 实例:社交博客应用

第8章 用户身份验证

8.1 Flask的身份验证扩展

8.2 密码安全性

使用Werkzeug计算密码散列值

8.3 创建身份验证蓝本

8.4 使用Flask-Login验证用户身份

8.4.1 准备用于登录的用户模型

8.4.2 保护路由

8.4.3 添加登录表单

8.4.4 登入用户

8.4.5 登出用户

8.4.6 理解Flask-Login的运作方式

8.4.7 登录测试

8.5 注册新用户

8.5.1 添加用户注册表单

8.5.2 注册新用户

8.6 确认账户

8.6.1 使用itsdangerous生成确认令牌

8.6.2 发送确认邮件

8.7 管理账户

第9章 用户角色

9.1 角色在数据库中的表示

9.2 赋予角色

9.3 检验角色

第10章 用户资料

10.1 资料信息

10.2 用户资料页面

10.3 资料编辑器

10.3.1 用户级资料编辑器

10.3.2 管理员级资料编辑器

10.4 用户头像

第11章 博客文章

11.1 提交和显示博客文章

11.2 在资料页中显示博客文章

11.3 分页显示长博客文章列表

11.3.1 创建虚拟博客文章数据

11.3.2 在页面中渲染数据

11.3.3 添加分页导航

11.4 使用Markdown和Flask-PageDown支持富文本文章

11.4.1 使用Flask-PageDown

11.4.2 在服务器端处理富文本

11.5 博客文章的固定链接

11.6 博客文章编辑器

第12章 关注者

12.1 再论数据库关系

12.1.1 多对多关系

12.1.2 自引用关系

12.1.3 高级多对多关系

12.2 在资料页面中显示关注者

12.3 使用数据库联结查询所关注用户的文章

12.4 在首页显示所关注用户的文章

第13章 用户评论

13.1 评论在数据库中的表示

13.2 提交和显示评论

13.3 管理评论

第14章 应用编程接口

14.1 REST简介

14.1.1 资源就是一切

14.1.2 请求方法

14.1.3 请求和响应主体

14.1.4 版本

14.2 使用Flask实现REST式Web服务

14.2.1 创建API蓝本

14.2.2 错误处理

14.2.3 使用Flask-HTTPAuth验证用户身份

14.2.4 基于令牌的身份验证

14.2.5 资源和JSON的序列化转换

14.2.6 实现资源的各个端点

14.2.7 分页大型资源集合

14.2.8 使用HTTPie测试Web服务

第三部分 成功在望

第15章 测试

15.1 获取代码覆盖度报告

15.2 Flask测试客户端

15.2.1 测试Web应用

15.2.2 测试Web服务

15.3 使用Selenium进行端到端测试

15.4 值得测试吗

第16章 性能

16.1 在日志中记录影响性能的缓慢数据库查询

16.2 分析源码

第17章 部署

17.1 部署流程

17.2 把生产环境中的错误写入日志

17.3 云部署

17.4 Heroku平台

17.4.1 准备工作

17.4.2 使用heroku local测试

17.4.3 执行git push命令部署

17.4.4 升级后重新部署

17.5 Docker容器

17.5.1 安装Docker

17.5.2 构建容器映像

17.5.3 运行容器

17.5.4 审查运行中的容器

17.5.5 把容器映像推送到外部注册处

17.5.6 使用外部数据库

17.5.7 使用Docker Compose编排容器

17.5.8 清理旧容器和映像

17.5.9 在生产环境中使用Docker

17.6 传统部署方式

17.6.1 架设服务器

17.6.2 导入环境变量

17.6.3 配置日志

第18章 其他资源

18.1 使用集成开发环境

18.2 寻找Flask扩展

18.3 寻求帮助

18.4 参与Flask社区

作者简介

Flask Web开发:基于Python的Web应用开发实战(第2版)是2018年由人民邮电出版社·图灵出品出版,作者。

得书感谢您对《Flask Web开发:基于Python的Web应用开发实战(第2版)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Web开发技术——HTML、CSS、JavaScript 电子书
《Web开发技术——HTML、CSS、JavaScript》主要讲解了Web前端开发的相关知识,主要包括HTML、CSS和JavaScript等内容。在讲解理论知识的基础上,《Web开发技术——HTML、CSS、JavaScript》更加重视应用实践,分3个层次来强化学生的实际动手能力,包括每个知识点后的示例demo,每章后的综合应用实例,以及每个部分后的实际案例。本书配套提供所有的源代码。《We
Java Web开发系统项目教程 电子书
本书为中央财政支持高等职业学校提升专业服务产业发展能力项目课程改革教材。本书是依据高职高专软件技术专业人才培养目标和定位要求,围绕掌握JavaWeb开发的学习宗旨,以开发电子购物系统项目为主线,设计了四个子项目及一个拓展项目:构建电子购物系统的基础框架、构建电子购物系统的数据库、用JavaBean和Servlet技术开发电子购物系统、部署MVC模式的电子购物系统、阶段项目短消息系统。
jQuery Web开发案例教程 电子书
本书分为上下两篇,通过丰富的实例详细讲解jQuery框架的相关技术。在上篇中,会针对jQuery基础知识,以及选择器、事件、控制DOM、AJAX、动画、插件等内容进行深入的讲解,这一部分将重点通过应用和案例来讲解实战问题。在下篇中,会通过5个综合实例,完整地演示使用jQuery进行综合项目开发的过程,使读者能够真正地将jQuery应用到真实的项目开发中,并对Web前端的工程化有所认知。本书内容翔实
HTML5+CSS3移动Web开发实战(第2版) 电子书
本书从跨平台的移动Web实际应用的角度阐述了HTML5和CSS3的新元素和新功能。
Web异步与实时交互——iframe AJAX WebSocket开发实战 电子书
◆第1章介绍了异步、实时Web交互技术中的关键概念和技术,阐述了本书的写作思路。◆第2章和第3章介绍了iframe实现模拟异步交互的关键技术、工作原理,以及基于iframe和长连接实时交互方式实现的案例。◆第4章和第5章讲解了AJAX实现异步交互的关键技术、工作原理,以及基于AJAX和长连接实时交互方式实现的案例。◆第6章和第7章阐述了WebSocket实现主动推送交互的关键技术、工作原理,以及基