《Flask Web开发 基于Python的Web应用开发实战》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:(美)格林布戈著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2015
  • ISBN:9787115373991
  • 页数:205 页
图书介绍:本书分三部分,全面介绍如何用基于Python的微框架Flask掌控Web开发。第一部分是Flask简介,介绍使用Flask框架及其扩展开发Web程序的基础知识;第二部分则给出一个实例,带领大家一步步开发完整开源博客和社交网络程序Flasky,从而将前述知识融会贯通真正投入实践中。第三部分介绍了与开发程序无直接关系,却要在程序发布之前考虑的事,如单元测试策略、性能分析技术、部署方式等。

第一部分 Flask简介 3

第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

第二部分 实例:社交博客程序 77

第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-HTPAuth认证用户 159

14.2.4 基于令牌的认证 161

14.2.5 资源和JSON的序列化转换 162

14.2.6 实现资源端点 165

14.2.7 分页大型资源集合 167

14.2.8 使用HTTPie测试Web服务 168

第三部分 成功在望 173

第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