在好例子网,分享、交流、成长!
您当前所在位置:首页Python 开发实例Python网络编程 → Flask Web开发:基于Python的Web应用开发实战.pdf

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

Python网络编程

下载此实例
  • 开发语言:Python
  • 实例大小:7.91M
  • 下载次数:19
  • 浏览次数:54
  • 发布时间:2020-10-21
  • 实例类别:Python网络编程
  • 发 布 人:mahoo12138
  • 所需积分:2
 相关标签: flask web 开发

实例介绍

【实例简介】

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

【实例截图】

from clipboard

【核心代码】


目录
前言..........................................................................................................................................................xi
第一部分 Flask 简介
第 1 章 安装.........................................................................................................................................3
1.1 创建应用目录 .............................................................................................................................4
1.2 虚拟环境 .....................................................................................................................................4
1.3 在 Python 3 中创建虚拟环境.....................................................................................................4
1.4 在 Python 2 中创建虚拟环境.....................................................................................................5
1.5 使用虚拟环境 .............................................................................................................................5
1.6 使用 pip 安装 Python 包 ............................................................................................................6
第 2 章 应用的基本结构 ..................................................................................................................7
2.1 初始化 .........................................................................................................................................7
2.2 路由和视图函数 .........................................................................................................................7
2.3 一个完整的应用 .........................................................................................................................9
2.4 Web 开发服务器 ........................................................................................................................9
2.5 动态路由 ...................................................................................................................................10
2.6 调试模式 ...................................................................................................................................11
2.7 命令行选项 ...............................................................................................................................13
2.8 请求 – 响应循环 .......................................................................................................................14
2.8.1 应用和请求上下文 ......................................................................................................14
2.8.2 请求分派 ......................................................................................................................16
2.8.3 请求对象 ......................................................................................................................16
vi | 目录
2.8.4 请求钩子 ......................................................................................................................17
2.8.5 响应 ..............................................................................................................................18
2.9 Flask 扩展 .................................................................................................................................19
第 3 章 模板.......................................................................................................................................20
3.1 Jinja2 模板引擎 ........................................................................................................................20
3.1.1 渲染模板 ......................................................................................................................21
3.1.2 变量 ..............................................................................................................................21
3.1.3 控制结构 ......................................................................................................................22
3.2 使用 Flask-Bootstrap 集成 Bootstrap .......................................................................................24
3.3 自定义错误页面 .......................................................................................................................27
3.4 链接 ...........................................................................................................................................29
3.5 静态文件 ...................................................................................................................................30
3.6 使用 Flask-Moment 本地化日期和时间 .................................................................................31
第 4 章 Web 表单 ............................................................................................................................34
4.1 配置 ...........................................................................................................................................34
4.2 表单类 .......................................................................................................................................35
4.3 把表单渲染成 HTML...............................................................................................................37
4.4 在视图函数中处理表单 ...........................................................................................................38
4.5 重定向和用户会话 ...................................................................................................................40
4.6 闪现消息 ...................................................................................................................................42
第 5 章 数据库..................................................................................................................................44
5.1 SQL 数据库 ..............................................................................................................................44
5.2 NoSQL 数据库 .........................................................................................................................45
5.3 使用 SQL 还是 NoSQL ............................................................................................................46
5.4 Python 数据库框架...................................................................................................................46
5.5 使用 Flask-SQLAlchemy 管理数据库 .....................................................................................47
5.6 定义模型 ...................................................................................................................................48
5.7 关系 ...........................................................................................................................................49
5.8 数据库操作 ...............................................................................................................................51
5.8.1 创建表 ..........................................................................................................................51
5.8.2 插入行 ..........................................................................................................................51
5.8.3 修改行 ..........................................................................................................................53
5.8.4 删除行 ..........................................................................................................................53
5.8.5 查询行 ..........................................................................................................................53
5.9 在视图函数中操作数据库 .......................................................................................................55
5.10 集成 Python shell ....................................................................................................................56
目录 | vii
5.11 使用 Flask-Migrate 实现数据库迁移 ....................................................................................56
5.11.1 创建迁移仓库 ...........................................................................................................57
5.11.2 创建迁移脚本 ...........................................................................................................57
5.11.3 更新数据库 ...............................................................................................................58
5.11.4 添加几个迁移 ...........................................................................................................59
第 6 章 电子邮件 ..............................................................................................................................60
第 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
7.8 运行应用 ...................................................................................................................................74
第二部分 实例:社交博客应用
第 8 章 用户身份验证 .....................................................................................................................77
8.1 Flask 的身份验证扩展 .............................................................................................................77
8.2 密码安全性 ...............................................................................................................................77
8.3 创建身份验证蓝本 ...................................................................................................................80
8.4 使用 Flask-Login 验证用户身份 .............................................................................................81
8.4.1 准备用于登录的用户模型 ..........................................................................................82
8.4.2 保护路由 ......................................................................................................................83
8.4.3 添加登录表单 ..............................................................................................................83
8.4.4 登入用户 ......................................................................................................................85
8.4.5 登出用户 ......................................................................................................................86
8.4.6 理解 Flask-Login 的运作方式 .....................................................................................86
8.4.7 登录测试 ......................................................................................................................87
8.5 注册新用户 ...............................................................................................................................88
8.5.1 添加用户注册表单 ......................................................................................................88
8.5.2 注册新用户 ..................................................................................................................90
viii | 目录
8.6 确认账户 ...................................................................................................................................90
8.6.1 使用 itsdangerous 生成确认令牌 .............................................................................90
8.6.2 发送确认邮件 ..............................................................................................................92
8.7 管理账户 ...................................................................................................................................95
第 9 章 用户角色 ..............................................................................................................................97
9.1 角色在数据库中的表示 ...........................................................................................................97
9.2 赋予角色 .................................................................................................................................100
9.3 检验角色 .................................................................................................................................101
第 10 章 用户资料 .........................................................................................................................104
10.1 资料信息 ...............................................................................................................................104
10.2 用户资料页面 .......................................................................................................................105
10.3 资料编辑器 ...........................................................................................................................107
10.3.1 用户级资料编辑器 .................................................................................................107
10.3.2 管理员级资料编辑器 .............................................................................................109
10.4 用户头像 ...............................................................................................................................111
第 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 支持富文本文章 ......................................................123
11.4.1 使用 Flask-PageDown.............................................................................................124
11.4.2 在服务器端处理富文本 .........................................................................................125
11.5 博客文章的固定链接 ...........................................................................................................126
11.6 博客文章编辑器 ...................................................................................................................128
第 12 章 关注者 ..............................................................................................................................130
12.1 再论数据库关系 ...................................................................................................................130
12.1.1 多对多关系 .............................................................................................................130
12.1.2 自引用关系 .............................................................................................................132
12.1.3 高级多对多关系 .....................................................................................................132
12.2 在资料页面中显示关注者 ...................................................................................................135
12.3 使用数据库联结查询所关注用户的文章 ...........................................................................137
12.4 在首页显示所关注用户的文章 ...........................................................................................139
目录 | ix
第 13 章 用户评论 .........................................................................................................................143
13.1 评论在数据库中的表示 .......................................................................................................143
13.2 提交和显示评论 ...................................................................................................................144
13.3 管理评论 ...............................................................................................................................146
第 14 章 应用编程接口 ................................................................................................................150
14.1 REST 简介 ............................................................................................................................150
14.1.1 资源就是一切 .........................................................................................................151
14.1.2 请求方法 .................................................................................................................151
14.1.3 请求和响应主体 .....................................................................................................152
14.1.4 版本 .........................................................................................................................153
14.2 使用 Flask 实现 REST 式 Web 服务 ...................................................................................153
14.2.1 创建 API 蓝本 ........................................................................................................153
14.2.2 错误处理 .................................................................................................................154
14.2.3 使用 Flask-HTTPAuth 验证用户身份 ...................................................................156
14.2.4 基于令牌的身份验证.............................................................................................158
14.2.5 资源和 JSON 的序列化转换 .................................................................................159
14.2.6 实现资源的各个端点 .............................................................................................161
14.2.7 分页大型资源集合 .................................................................................................163
14.2.8 使用 HTTPie 测试 Web 服务 .................................................................................164
第三部分 成功在望
第 15 章 测试..................................................................................................................................169
15.1 获取代码覆盖度报告 ...........................................................................................................169
15.2 Flask 测试客户端 .................................................................................................................172
15.2.1 测试 Web 应用 ........................................................................................................172
15.2.2 测试 Web 服务 ........................................................................................................175
15.3 使用 Selenium 进行端到端测试 ..........................................................................................176
15.4 值得测试吗 ...........................................................................................................................180
第 16 章 性能..................................................................................................................................181
16.1 在日志中记录影响性能的缓慢数据库查询 .......................................................................181
16.2 分析源码 ...............................................................................................................................183
第 17 章 部署..................................................................................................................................184
17.1 部署流程 ...............................................................................................................................184
17.2 把生产环境中的错误写入日志 ...........................................................................................185
x | 目录
17.3 云部署 ...................................................................................................................................186
17.4 Heroku 平台 ..........................................................................................................................186
17.4.1 准备工作 .................................................................................................................187
17.4.2 使用 heroku local 测试 ........................................................................................193
17.4.3 执行 git push 命令部署........................................................................................194
17.4.4 升级后重新部署 .....................................................................................................195
17.5 Docker 容器 ..........................................................................................................................195
17.5.1 安装 Docker ............................................................................................................195
17.5.2 构建容器映像 .........................................................................................................196
17.5.3 运行容器 .................................................................................................................199
17.5.4 审查运行中的容器 .................................................................................................200
17.5.5 把容器映像推送到外部注册处 .............................................................................200
17.5.6 使用外部数据库 .....................................................................................................201
17.5.7 使用 Docker Compose 编排容器 ...........................................................................202
17.5.8 清理旧容器和映像 .................................................................................................205
17.5.9 在生产环境中使用 Docker ....................................................................................205
17.6 传统部署方式 .......................................................................................................................206
17.6.1 架设服务器 .............................................................................................................206
17.6.2 导入环境变量 .........................................................................................................207
17.6.3 配置日志 .................................................................................................................207
第 18 章 其他资源 .........................................................................................................................209
18.1 使用集成开发环境 ...............................................................................................................209
18.2 寻找 Flask 扩展 ....................................................................................................................209
18.3 寻求帮助 ...............................................................................................................................210
18.4 参与 Flask 社区 ....................................................................................................................210
作者简介..............................................................................................................................................211
关于封面..............................................................................................................................................211


标签: flask web 开发

实例下载地址

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

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
;
报警