深入理解 Flask : 掌握用Python创建强大动态Web应用的技术

0
(0)

深入理解 Flask
: 掌握用Python创建强大动态Web应用的技术

作者:[美]JackStouffer

出版社:电子工业出版社

出品方:博文视点

副标题:掌握用Python创建强大动态Web应用的技术

原作名:MasteringFlask

译者:苏丹

出版年:2016-7-1

页数:256

定价:79.00

装帧:平装

ISBN:9787121292316

内容简介
······

Flask 是一种具有平缓学习曲线和庞大社区支持的微框架,利用它可以构建大规模的web应用。学习上手Flask非常轻松,但要深入理解却并不容易。

本书从一个简单的Flask应用开始,通过解决若干实战中的问题,对一系列进阶的话题进行了探讨。书中使用MVC(模型-视图-控制器)架构对示例应用进行了转化重构,以演示如何正确地组织应用代码结构。有了可扩展性强的应用结构之后,接下来的章节使用Flask扩展为应用提供了额外的功能,包括用户登录和注册、NoSQL查询、REST API、一套后台管理界面,以及其他特性。然后,你会学到如何使用单元测试,保障代码持续按照正确的方式工作,避免极具风险的猜测式编程。本书最后会讨论可用于部署Flask应用的诸多不同平台,以及你必须考虑的,每个平台的优劣利弊。

作者简介
······

作者Jack Stouffer是一位有数年web应用开发经验的程序员。他在两年前将他所有的项目都切换到了Flask。他目前在位于密歇根州奥本山的Apollo America工作,使用Python、Flask和编写企业内部业务工具。Jack是开源技术的信徒与支持者,在GitHub上发布以他所推荐的佳实践原则编写的Flask范例时,立即成为了线上受欢迎的Flask代码库。Jack还曾经担任Packt Publishing的《Flask Framework Cookbook》一书的审稿人。

译者苏丹,来自山城重庆,毕业于北京师范大学;现豆瓣资深开发工程师,主要开发作品有豆瓣FM等;有多年Python编程实践经验;曾参与《Learning Android中文版》一书翻译。

目录
······

第1章 入门 1

使用Git进行版本控制 1

安装Git 1

Git基础 2

使用pip管理Python包 4

在Windows上安装pip 4

在Mac OS X和Linux上安装Python包管理器pip 5

pip基本操作 6

用virtualenv的沙盒管理依赖 7

virtualenv基础 7

开始我们的项目 8

使用Flask Script 9

总结 10

第2章 使用SQLAlchemy创建数据模型 11

设置SQLAlchemy 11

Python安装包 12

Flask SQLAlchemy 12

我们的第1个数据模型 13

创建user表 15

CRUD 16

新增数据 16

读取数据 16

修改数据 19

删除数据 19

数据模型之间的关联 20

一对多 20

多对多 23

SQLAlchemy会话对象的方便之处 25

使用Alembic进行数据库迁移 26

总结 28

第3章 通过模板创建视图 29

Jinja的语法 29

过滤器 30

注释 34

if语句 34

循环 35

宏 36

Flask特有的变量和函数 37

创建视图 38

视图函数 38

编写和继承模板 41

Flask WTForms 45

WTForms基础 46

自定义检验器 48

发布评论 48

总结 51

第4章 使用蓝图创建控制器 52

请求的构建和销毁,以及全局变量 52

错误页面 53

使用类描述视图 53

方法视图 55

蓝图 55

总结 57

第5章 进阶的应用结构 58

模块项目 58

重构代码 59

应用的工厂模式 62

总结 64

第6章 保护应用安全 65

准备工作 65

修改用户模型 65

创建表单 67

创建视图 71

社交网络登录 76

使用会话 84

使用Flask Login 87

用户角色 90

总结 95

第7章 在Flask中使用NoSQL数据库 96

NoSQL数据库的种类 96

键值数据库 97

文档数据库 97

列式数据库 98

基于图的数据库 100

关系型数据库与NoSQL的比较 101

关系型数据库的优势 102

NoSQL数据库的优势 103

在什么情况下用什么数据库 104

在Flask中使用MongoDB 105

安装MongoDB 106

配置MongoEngine 106

定义文档 107

CRUD 112

NoSQL中的关联关系 117

利用NoSQL的强大能力 120

总结 126

第8章 构建RESTful API 127

REST是什么 127

构建RESTful Flask API 130

GET请求 131

格式化输出 132

请求中的参数 135

POST请求 138

身份认证 140

PUT请求 143

DELETE请求 146

总结 147

第9章 使用Celery编写异步任务 148

Celery是什么 148

配置Celery和RabbitMQ 150

在Celery中创建任务 151

运行Celery任务 154

Celery工作流 155

监控Celery 160

在Flower中通过网页进行监控 161

创建一个提醒应用 161

生成每周摘要 163

总结 167

第10章 有用的Flask扩展 168

Flask Script 168

Flask Debug Toolbar 170

Flask Cache 173

缓存函数和视图 174

缓存带参数的函数 175

缓存带有查询参数的路径 177

使用Redis作为缓存后端 177

使用memcached 作为缓存后端 178

Flask Assets 178

Flask Admin 181

编写基础管理页面 182

编写数据库管理页面 184

增强文章管理功能 185

编写文件系统管理页面 187

保护Flask Admin的安全 188

Flask Mail 189

总结 190

第11章 构建你自己的扩展 192

编写一个YouTube Flask扩展 192

创建Python包 196

通过Flask扩展修改响应数据 198

总结 200

第12章 测试Flask应用 201

什么是单元测试 201

怎样进行测试 202

对应用进行单元测试 202

测试路由函数 203

用户界面测试 208

测试覆盖率 213

测试驱动的开发 216

总结 218

第13章 部署Flask应用 219

部署在你自己的服务器上 219

使用fabric把代码推送到服务器 220

使用supervisor运行你的Web服务器 222

Gevent 224

Tornado 225

Nginx和uWSGI 226

Apache和uWSGI 229

部署在Heroku上 230

使用Heroku Postgres 231

在Heroku中使用Celery 232

在AWS上部署应用 233

评论 ······

这本书真是本好书,虽然代码有些过时了,但依然可以学到很多知识,是学习flask编程的首选!

就算能抵制Flask的强大诱惑,当你看到译者名,还能不心动?

书中内容很详实,可以学到很多技巧。书中代码有些是有问题的,所以我自己重构了整个代码,可以跑通。重构的代码结构根据"狗书"有部分改动,但是核心内容没变。具体可以参考我的github地址,https://github.com/Tianny/Mastering-Flask。有任何疑问可以通过github或者豆瓣联系我。

苏老师翻译的!台风天和Flask更配噢

点击星号评分!

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

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

推荐阅读

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册