作者:
[美]
Miguel Grinberg
出版社: 人民邮电出版社
出品方: 图灵教育
译者: 安道
出版年: 2014-12
页数: 224
定价: 59.00元
装帧: 平装
丛书: 图灵程序设计丛书·Web开发系列
ISBN: 9787115373991
出版社: 人民邮电出版社
出品方: 图灵教育
译者: 安道
出版年: 2014-12
页数: 224
定价: 59.00元
装帧: 平装
丛书: 图灵程序设计丛书·Web开发系列
ISBN: 9787115373991
内容简介 · · · · · ·
本书不仅适合初级Web开发人员学习阅读,更是Python程序员用来学习高级Web开发技术的优秀参考书。
• 学习Flask应用的基本结构,编写示例应用;
• 使用必备的组件,包括模板、数据库、Web表单和电子邮件支持;
• 使用包和模块构建可伸缩的大型应用;
• 实现用户认证、角色和个人资料;
• 在博客网站中重用模板、分页显示列表以及使用富文本;
• 使用基于Flask的REST式API,在智能手机、平板电脑和其他第三方客户端上实现可用功能;
• 学习运行单元测试以及提升性能;
• 将Web应用部署到生产服务器。
作者简介 · · · · · ·
Miguel Grinberg
拥有25年开发经验的高级软件工程师,目前为广播公司开发视频软件。他常在个人博客(blog.miguelgrinberg.com)上撰写各类博文,内容主要涉及Web开发、机器人技术、摄影,偶尔也会有一些影评。他和妻子、四个孩子、两只狗和一只猫共同生活在俄勒冈州波特兰市。Twitter:@miguelgrinberg。
目录 · · · · · ·
前言 XI
第一部分 Flask简介
第1章 安装 3
1.1 使用虚拟环境 4
1.2 使用pip安装Python包 6
第2章 程序的基本结构 7
2.1 初始化 7
2.2 路由和视图函数 7
2.3 启动服务器 9
2.4 一个完整的程序 9
2.5 请求-响应循环 11
2.5.1 程序和请求上下文 11
2.5.2 请求调度 13
2.5.3 请求钩子 13
2.5.4 响应 14
2.6 Flask扩展 15
第3章 模板 19
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 自定义错误页面 26
3.4 链接 29
3.5 静态文件 29
3.6 使用Flask-Moment本地化日期和时间 30
第4章 Web表单 33
4.1 跨站请求伪造保护 33
4.2 表单类 34
4.3 把表单渲染成HTML 35
4.4 在视图函数中处理表单 37
4.5 重定向和用户会话 39
4.6 Flash消息 41
第5章 数据库 43
5.1 SQL数据库 43
5.2 NoSQL数据库 44
5.3 使用SQL还是NoSQL 45
5.4 Python数据库框架 45
5.5 使用Flask-SQLAlchemy管理数据库 46
5.6 定义模型 47
5.7 关系 49
5.8 数据库操作 50
5.8.1 创建表 50
5.8.2 插入行 51
5.8.3 修改行 52
5.8.4 删除行 52
5.8.5 查询行 52
5.9 在视图函数中操作数据库 54
5.10 集成Python shell 56
5.11 使用Flask-Migrate实现数据库迁移 56
5.11.1 创建迁移仓库 57
5.11.2 创建迁移脚本 57
5.11.3 更新数据库 58
第6章 电子邮件 59
使用Flask-Mail提供电子邮件支持 59
在Python shell中发送电子邮件 60
在程序中集成发送电子邮件功能 61
异步发送电子邮件 62
第7章 大型程序的结构 65
7.1 项目结构 65
7.2 配置选项 66
7.3 程序包 67
7.3.1 使用程序工厂函数 68
7.3.2 在蓝本中实现程序功能 69
7.4 启动脚本 71
7.5 需求文件 71
7.6 单元测试 72
7.7 创建数据库 74
第二部分 实例:社交博客程序
第8章 用户认证 77
8.1 Flask的认证扩展 77
8.2 密码安全性 77
8.3 创建认证蓝本 80
8.4 使用Flask-Login认证用户 81
8.4.1 准备用于登录的用户模型 81
8.4.2 保护路由 83
8.4.3 添加登录表单 83
8.4.4 登入用户 84
8.4.5 登出用户 86
8.4.6 测试登录 86
8.5 注册新用户 87
8.5.1 添加用户注册表单 87
8.5.2 注册新用户 89
8.6 确认账户 90
8.6.1 使用itsdangerous生成确认令牌 90
8.6.2 发送确认邮件 92
8.7 管理账户 95
第9章 用户角色 97
9.1 角色在数据库中的表示 97
9.2 赋予角色 99
9.3 角色验证 100
第10章 用户资料 103
10.1 资料信息 103
10.2 用户资料页面 104
10.3 资料编辑器 106
10.3.1 用户级别的资料编辑器 106
10.3.2 管理员级别的资料编辑器 108
10.4 用户头像 110
第11章 博客文章 115
11.1 提交和显示博客文章 115
11.2 在资料页中显示博客文章 118
11.3 分页显示长博客文章列表 118
11.3.1 创建虚拟博客文章数据 119
11.3.2 在页面中渲染数据 120
11.3.3 添加分页导航 121
11.4 使用Markdown和Flask-PageDown支持富文本文章 124
11.4.1 使用Flask-PageDown 124
11.4.2 在服务器上处理富文本 125
11.5 博客文章的固定链接 127
11.6 博客文章编辑器 128
第12章 关注者 131
12.1 再论数据库关系 131
12.1.1 多对多关系 131
12.1.2 自引用关系 133
12.1.3 高级多对多关系 134
12.2 在资料页中显示关注者 136
12.3 使用数据库联结查询所关注用户的文章 138
12.4 在首页显示所关注用户的文章 141
第13章 用户评论 145
13.1 评论在数据库中的表示 145
13.2 提交和显示评论 146
13.3 管理评论 149
第14章 应用编程接口 153
14.1 REST简介 153
14.1.1 资源就是一切 154
14.1.2 请求方法 154
14.1.3 请求和响应主体 155
14.1.4 版本 156
14.2 使用Flask提供REST Web服务 156
14.2.1 创建API蓝本 157
14.2.2 错误处理 157
14.2.3 使用Flask-HTTPAuth认证用户 159
14.2.4 基于令牌的认证 161
14.2.5 资源和JSON的序列化转换 162
14.2.6 实现资源端点 165
14.2.7 分页大型资源集合 167
14.2.8 使用HTTPie测试Web服务 168
第三部分 成功在望
第15章 测试 173
15.1 获取代码覆盖报告 173
15.2 Flask测试客户端 176
15.2.1 测试Web程序 176
15.2.2 测试Web服务 179
15.3 使用Selenium进行端到端测试 180
15.4 值得测试吗 184
第16章 性能 185
16.1 记录影响性能的缓慢数据库查询 185
16.2 分析源码 187
第17章 部署 189
17.1 部署流程 189
17.2 把生产环境中的错误写入日志 190
17.3 云部署 191
17.4 Heroku平台 191
17.4.1 准备程序 192
17.4.2 使用Foreman进行测试 196
17.4.3 使用Flask-SSLify启用安全HTTP 197
17.4.4 执行git push命令部署 198
17.4.5 查看日志 199
17.4.6 部署一次升级 199
17.5 传统的托管 200
17.5.1 架设服务器 200
17.5.2 导入环境变量 200
17.5.3 配置日志 201
第18章 其他资源 203
18.1 使用集成开发环境 203
18.2 查找Flask扩展 204
18.3 参与Flask开发 204
关于封面图 205
· · · · · · (收起)
第一部分 Flask简介
第1章 安装 3
1.1 使用虚拟环境 4
1.2 使用pip安装Python包 6
第2章 程序的基本结构 7
2.1 初始化 7
2.2 路由和视图函数 7
2.3 启动服务器 9
2.4 一个完整的程序 9
2.5 请求-响应循环 11
2.5.1 程序和请求上下文 11
2.5.2 请求调度 13
2.5.3 请求钩子 13
2.5.4 响应 14
2.6 Flask扩展 15
第3章 模板 19
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 自定义错误页面 26
3.4 链接 29
3.5 静态文件 29
3.6 使用Flask-Moment本地化日期和时间 30
第4章 Web表单 33
4.1 跨站请求伪造保护 33
4.2 表单类 34
4.3 把表单渲染成HTML 35
4.4 在视图函数中处理表单 37
4.5 重定向和用户会话 39
4.6 Flash消息 41
第5章 数据库 43
5.1 SQL数据库 43
5.2 NoSQL数据库 44
5.3 使用SQL还是NoSQL 45
5.4 Python数据库框架 45
5.5 使用Flask-SQLAlchemy管理数据库 46
5.6 定义模型 47
5.7 关系 49
5.8 数据库操作 50
5.8.1 创建表 50
5.8.2 插入行 51
5.8.3 修改行 52
5.8.4 删除行 52
5.8.5 查询行 52
5.9 在视图函数中操作数据库 54
5.10 集成Python shell 56
5.11 使用Flask-Migrate实现数据库迁移 56
5.11.1 创建迁移仓库 57
5.11.2 创建迁移脚本 57
5.11.3 更新数据库 58
第6章 电子邮件 59
使用Flask-Mail提供电子邮件支持 59
在Python shell中发送电子邮件 60
在程序中集成发送电子邮件功能 61
异步发送电子邮件 62
第7章 大型程序的结构 65
7.1 项目结构 65
7.2 配置选项 66
7.3 程序包 67
7.3.1 使用程序工厂函数 68
7.3.2 在蓝本中实现程序功能 69
7.4 启动脚本 71
7.5 需求文件 71
7.6 单元测试 72
7.7 创建数据库 74
第二部分 实例:社交博客程序
第8章 用户认证 77
8.1 Flask的认证扩展 77
8.2 密码安全性 77
8.3 创建认证蓝本 80
8.4 使用Flask-Login认证用户 81
8.4.1 准备用于登录的用户模型 81
8.4.2 保护路由 83
8.4.3 添加登录表单 83
8.4.4 登入用户 84
8.4.5 登出用户 86
8.4.6 测试登录 86
8.5 注册新用户 87
8.5.1 添加用户注册表单 87
8.5.2 注册新用户 89
8.6 确认账户 90
8.6.1 使用itsdangerous生成确认令牌 90
8.6.2 发送确认邮件 92
8.7 管理账户 95
第9章 用户角色 97
9.1 角色在数据库中的表示 97
9.2 赋予角色 99
9.3 角色验证 100
第10章 用户资料 103
10.1 资料信息 103
10.2 用户资料页面 104
10.3 资料编辑器 106
10.3.1 用户级别的资料编辑器 106
10.3.2 管理员级别的资料编辑器 108
10.4 用户头像 110
第11章 博客文章 115
11.1 提交和显示博客文章 115
11.2 在资料页中显示博客文章 118
11.3 分页显示长博客文章列表 118
11.3.1 创建虚拟博客文章数据 119
11.3.2 在页面中渲染数据 120
11.3.3 添加分页导航 121
11.4 使用Markdown和Flask-PageDown支持富文本文章 124
11.4.1 使用Flask-PageDown 124
11.4.2 在服务器上处理富文本 125
11.5 博客文章的固定链接 127
11.6 博客文章编辑器 128
第12章 关注者 131
12.1 再论数据库关系 131
12.1.1 多对多关系 131
12.1.2 自引用关系 133
12.1.3 高级多对多关系 134
12.2 在资料页中显示关注者 136
12.3 使用数据库联结查询所关注用户的文章 138
12.4 在首页显示所关注用户的文章 141
第13章 用户评论 145
13.1 评论在数据库中的表示 145
13.2 提交和显示评论 146
13.3 管理评论 149
第14章 应用编程接口 153
14.1 REST简介 153
14.1.1 资源就是一切 154
14.1.2 请求方法 154
14.1.3 请求和响应主体 155
14.1.4 版本 156
14.2 使用Flask提供REST Web服务 156
14.2.1 创建API蓝本 157
14.2.2 错误处理 157
14.2.3 使用Flask-HTTPAuth认证用户 159
14.2.4 基于令牌的认证 161
14.2.5 资源和JSON的序列化转换 162
14.2.6 实现资源端点 165
14.2.7 分页大型资源集合 167
14.2.8 使用HTTPie测试Web服务 168
第三部分 成功在望
第15章 测试 173
15.1 获取代码覆盖报告 173
15.2 Flask测试客户端 176
15.2.1 测试Web程序 176
15.2.2 测试Web服务 179
15.3 使用Selenium进行端到端测试 180
15.4 值得测试吗 184
第16章 性能 185
16.1 记录影响性能的缓慢数据库查询 185
16.2 分析源码 187
第17章 部署 189
17.1 部署流程 189
17.2 把生产环境中的错误写入日志 190
17.3 云部署 191
17.4 Heroku平台 191
17.4.1 准备程序 192
17.4.2 使用Foreman进行测试 196
17.4.3 使用Flask-SSLify启用安全HTTP 197
17.4.4 执行git push命令部署 198
17.4.5 查看日志 199
17.4.6 部署一次升级 199
17.5 传统的托管 200
17.5.1 架设服务器 200
17.5.2 导入环境变量 200
17.5.3 配置日志 201
第18章 其他资源 203
18.1 使用集成开发环境 203
18.2 查找Flask扩展 204
18.3 参与Flask开发 204
关于封面图 205
· · · · · · (收起)
原文摘录 · · · · · · ( 全部 )
-
To start using the virtual environment, you have to “activate” it. If you are using a bash command line (Linux and Mac OS X users), you can activate the virtual environment with this command: (查看原文) —— 引自第5页 -
When a virtual environment is activated, the location of its Python interpreter is added to the PATH, but this change is not permanent; it affects only your current command session. To remind you that you have activated a virtual environment, the activation command modifies the command prompt to include the name of the environment: (查看原文) —— 引自第5页
> 全部原文摘录
丛书信息
· · · · · ·
图灵程序设计丛书·Web开发系列(共173册),
这套丛书还有
《Node Web开发》《ActionScript 3.0基础教程》《学习JavaScript数据结构与算法(第3版)》《精通JavaScript》《精通JavaScript(第2版)》
等
。
喜欢读"Flask Web开发:基于Python的Web应用开发实战"的人也喜欢的电子书 · · · · · ·
支持 Web、iPhone、iPad、Android 阅读器
喜欢读"Flask Web开发:基于Python的Web应用开发实战"的人也喜欢 · · · · · ·
-
- 流畅的Python 9.4
-
- Python Web开发实战 7.3
-
- 深入理解 Flask 7.6
-
- 第一本Docker书 7.3
-
- 计算的本质 8.7
-
- Effective Python 8.7
-
- MySQL必知必会 8.3
-
- 鸟哥的Linux私房菜 9.0
-
- Linux/UNIX系统编程手册 9.5
Flask Web开发:基于Python的Web应用开发实战的书评 · · · · · · ( 全部 12 条 )

读书笔记:《Flask Web Development》part 1
这篇书评可能有关键情节透露
主要是写给自己的读书笔记,便于日后快速回忆这个主题的内容,也希望能有幸影响到若干匆匆过客。 # meta 作者Miguel Grinberg有25年工作经验,在视频广播行业,博客覆盖web开发,机器人,摄影等领域,因此积累是足够的。国外的这些老程序员都是国内职业生涯的好样板。 全书分... (展开)
网站后端开发入门好书
这本书短小精悍、结构紧凑、层层递进,既有基础知识的讲解,又有完整的项目实战。 前七章讲述一个个知识点,接下来的七章用一个项目将这些知识点串成线。全书没有一句多余的话,是一本不可多得的技术书籍。 这本书讲解了如何使用 python 语言的 flask 框架来开发网站,属于后端...
(展开)

flask的入门书籍
这是早几年自学python时看的一本书,算是flask的入门书籍吧。不过单纯从应用角度将,这本书研究透了,使用flask做一门应用也就没啥大问题的。最开始,我是想要做一个自己的个人网站,后面网站做起来了,托管到了腾讯云上,但是也没时间去打理,最终有下线了。国内用flask,或者...
(展开)

中规中矩的一本书,介绍了利用Flask框架传统后端MVC方式进行Web应用程序开发
整本书要主要的篇幅着力于基于传统后端MVC方式进行开发的Web应用程序。对于更为流行的,基于Restful API和前端MVC框架的RIA应用程序的介绍非常有限,只在Restful API这一节有着匆匆数言。 如果有第二版的话,希望作者可以介绍如何在Flask框架下设计各种Restful API,比如设计支...
(展开)
> 更多书评 12篇
论坛 · · · · · ·
python 2.7安装不了虚拟环境,显示第五行代码句法错误 | 来自想象的触角 | 2016-04-09 17:24:55 |
这本书的其他版本 · · · · · · ( 全部4 )
-
O'Reilly Media (2014)8.6分 126人读过
-
人民邮电出版社 (2018)8.7分 74人读过
-
O'Reilly Media (2018)8.7分 16人读过
以下书单推荐 · · · · · · ( 全部 )
- 编程C语言,Python等类书籍+知乎话题 (IVAN)
- 工作后购书目录 (张小国)
- 其他编程语言 (养鸭专业户)
- Python (何先森饭扫光)
- 编程 - 不能带入土的三大兴趣爱好之一 (悟空)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
订阅关于Flask Web开发:基于Python的Web应用开发实战的评论:
feed: rss 2.0
1 有用 masterplan 2017-09-30 17:23:47
看文档就行了
2 有用 スペンサー 2016-05-07 14:31:44
python果然比php有趣的多
58 有用 Max 2016-01-02 13:39:06
通过学习转行成功
7 有用 None 2017-06-20 01:52:28
书里的代码已经过时,要对照 GitHub 上的源码看
1 有用 黑猪警长 2016-06-26 21:48:53
顺便推荐一下作者博客上的flask mega-tutorial