搬运工 发表于 2022-8-3 20:00:03

Flask Web开发:基于Python的Web应用开发实战(.pdf)



前言.........................................................................................................................................................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
VI | 目录
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
目录 | VII
第 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
VIII | 目录
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
目录 | IX
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
X | 目录
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


**** Hidden Message *****

smartfind 发表于 2022-8-3 20:05:53

啥也不说了,感谢楼主分享哇!

neun 发表于 2022-8-3 20:45:23

啥也不说了,感谢楼主分享哇!

taipingyang2021 发表于 2022-8-3 21:56:08

啥也不说了,感谢楼主分享哇!

xing212 发表于 2022-8-4 02:29:25

正需要,支持楼主大人了!

17770767379 发表于 2022-8-4 08:26:51

啥也不说了,感谢楼主分享哇!

csa 发表于 2022-8-4 20:22:46

啥也不说了,感谢楼主分享哇!

李才哥 发表于 2022-8-4 23:07:11

正需要,支持楼主大人了!

iveBoy 发表于 2022-8-5 13:02:04

啥也不说了,感谢楼主分享哇!

大神code 发表于 2022-8-6 15:20:54

啥也不说了,感谢楼主分享哇!
页: [1] 2 3
查看完整版本: Flask Web开发:基于Python的Web应用开发实战(.pdf)