《Flask Web开发:基于Python的Web应用开发实战》pdf 免费下载链接: https://u253469.ctfile.com/fs/253469-292665036
第一部分 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
更多电子书请参考我的博客:http://hadoopall.com/
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
更多电子书请参考我的博客:http://hadoopall.com/
目录 | 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
更多电子书请参考我的博客:http://hadoopall.com/
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
更多电子书请参考我的博客:http://hadoopall.com/
目录 | 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
更多电子书请参考我的博客:http://hadoopall.com/
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
原文地址:https://www.cnblogs.com/zhiyong399/p/9286786.html