Flask Web开发 : 基于Python的Web应用开发实战(第2版)

0
(0)

Flask Web开发
: 基于Python的Web应用开发实战(第2版)

作者:[美]米格尔•格林贝格

出版社:人民邮电出版社

副标题:基于Python的Web应用开发实战(第2版)

原作名:FlaskWebDevelopment:DevelopingWebApplicationswithPython,2E

译者:安道

出版年:2018-8

页数:228

定价:69.00元

装帧:平装

丛书:图灵程序设计丛书·Web开发系列

ISBN:9787115489456

内容简介
······

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

作者简介
······

【作者简介】

米格尔•格林贝格(Miguel Grinberg)

近30年开发经验的软件工程师,以撰写Python项目开发的博客而广为Python开发者所熟知,经常受邀在PyCon等大会上分享开发经验。

【译者简介】

安道

专注于现代计算机技术的自由翻译,译有《流畅的Python》《Python网络编程攻略》《Ruby on Rails教程》等书。

目录
······

前言  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

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

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

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

第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

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之所以能脱颖而出,原因在于它让开发者做主,使其对应用拥有全面的创意控制。或许你听过“和框架斗争”这一说法。在大多数框架中,当你决定使用的解决方案不受框架官方支持时就会发生这种情况。你可能想使用不同的数据库引擎或者不同的用户身份验证方法。但是,这种偏离框架开发者设定路线的做法往往会给你带来很多麻烦。
Flask就不一样了。你喜欢关系型数据库?…

  • 前言
  • 第1 章 安装

评论 ······

我谢谢作者,Git 一 check 就完事了,自己再看 diff 有种统揽全局的感觉,比外面那些教程不知道高到哪里去了。

讲的很细致,结构上可以更顺畅

讲解得很详细,入门佳作

篇幅较短,十分适合快速上手。我把渲染HTML的跳过了

点击星号评分!

平均分 0 / 5. 投票数: 0

还没有投票!请为他投一票。

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册