章节目录
第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 是一种具有平缓学习曲线和庞大社区支持的微框架,利用它可以构建大规模的web应用。学习上手Flask非常轻松,但要深入理解却并不容易。
本书从一个简单的Flask应用开始,通过解决若干实战中的问题,对一系列进阶的话题进行了探讨。书中使用MVC(模型-视图-控制器)架构对示例应用进行了转化重构,以演示如何正确地组织应用代码结构。有了可扩展性强的应用结构之后,接下来的章节使用Flask扩展为应用提供了额外的功能,包括用户登录和注册、NoSQL查询、REST API、一套后台管理界面,以及其他特性。然后,你会学到如何使用单元测试,保障代码持续按照正确的方式工作,避免极具风险的猜测式编程。本书最后会讨论可用于部署Flask应用的诸多不同平台,以及你必须考虑的,每个平台的优劣利弊。
下载说明
1、深入理解 Flask是作者[美]Jack Stouffer创作的原创作品,下载链接均为网友上传的网盘链接!
2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!
下载链接
热门评论
-
su27根本就没有的评论珍爱生命,我用 Flask :)
-
出版人侠少的评论就算能抵制Flask的强大诱惑,当你看到译者名,还能不心动?
-
Fity的评论并不深入。。。但是内容还不错,比各种纠结前端的另一本 Flask 书好的多
-
[已注销]的评论內容全面,Flask 的自由需要開發者有更多好習慣,此書就包含很多規範的指南,和另外一本《Flask Web 開發》,作爲入門書籍非常合適。
-
京客隆小丸子的评论哈哈哈。@su27。
-
Pekingcat的评论苏老师翻译的!台风天和Flask更配噢
-
georgexsh的评论还是写php吧
-
大憨的评论并不深入,不过也还不错。
-
Jun的评论比flask web development更系统性的讲解flask的使用,就是这本书的译名很让人误解。
-
风声的评论内容很全,感觉比狗书要好,翻译的也很好。
-
夏谣的评论不理解作者为何既然用了flask_login,在模型上又不直接像Flask_login内建的UserMixin那样,将is_authenticated等设置为属性,而要设置为函数。差点就让我误解了flask_login的机制
-
午后红茶的评论翻译质量不错,排版错误较多
-
TzeSing的评论跟狗书的区别最大在于引入了nosql和celery,对我来说,它比狗书更加适用我的开发场景
-
昊天的评论这本书真是本好书,虽然代码有些过时了,但依然可以学到很多知识,是学习flask编程的首选!
-
流川不疯的评论应该是根据Flask的官方文档写的,应该搭配狗书一起看。
-
[已注销]的评论看来这些mastering某个framework的书都不能读,谈不上深入理解,只能说是教会你怎样写不是demo的代码,当然也是写不出来production级别的东西的。
-
岁月如飞刀的评论此书介绍的比较全面,但不深入,配合方面是一条狗的《Python Web 开发实战》效果最好,能互补。
-
[已注销]的评论非常详尽,但美中不足的是从第六章开始,你无法在没有 cover 后面几个章节内容的情况下把网站运行起来。建议先略略地读一遍此书,再回到第一章上手编码。推荐给所有的 Flask 新手,完成此书后可以无缝衔接《Python Web 开发实战》。
-
Tianny的评论书中内容很详实,可以学到很多技巧。书中代码有些是有问题的,所以我自己重构了整个代码,可以跑通。重构的代码结构根据"狗书"有部分改动,但是核心内容没变。具体可以参考我的github地址,https://github.com/Tianny/Mastering-Flask。有任何疑问可以通过github或者豆瓣联系我。
-
widiot的评论书名:Mastering Flask -> 掌握Flask。先看官方文档,再结合《Flask Web》和这本《Mastering Flask》食用,口感更佳