深入理解Flash-掌握用Python创建强大动态Web应用的技术
综合评级:★★★★★
定价:¥79.00
作者:杰克.史都华
出版社:电子工业
出版日期:2016/07/01
页数:256
ISBN:9787121292316
综合评级:★★★★★
定价:¥79.00
作者:杰克.史都华
出版社:电子工业
出版日期:2016/07/01
页数:256
ISBN:9787121292316
flask 是一种具有平缓学习曲线和庞大社区支持的微框架,利用它可以构建大规模的web应用。学习上手flask非常轻松,但要深入理解却并不容易。本书从一个简单的flask应用开始,通过解决若干实战中的问题,对一系列进阶的话题进行了探讨。书中使用mvc(模型-视图-控制器)架构对示例应用进行了转化重构,以演示如何正确地组织应用代码结构。有了可扩展性强的应用结构之后,接下来的章节使用flask扩展为应用提供了额外的功能,包括用户登录和注册、nosql查询、rest api、一套后台管理界面,以及其他特性。然后,你会学到如何使用单元测试,保障代码持续按照正确的方式工作,避免极具风险的猜测式编程。本书还会讨论可用于部署flask应用的诸多不同平台,以及你必须考虑的——每个平台的优劣利弊。你会从本书中学到:
■ 搭建python项目环境的优秀实践
■ 使用sqlalchemy,以编程式对数据库进行查询
■ 在jinja中开发页面模板
■ 在flask中搭建mvc环境
■ 探索nosql,何时应该以及何时不应该使用,以及如何使用
■ 开发你自己的flask扩展
■ 使用celery创建异步任务
■ 使用py.test编写单元测试
第1章 入门1
使用Git进行版本控制1
安装Git1
Git基础2
使用pip管理Python包4
在Windows上安装pip4
在Mac OS X和Linux上安装Python包管理器pip5
pip基本操作6
用virtualenv的沙盒管理依赖7
virtualenv基础7
开始我们的项目8
使用Flask Script9
总结10
第2章 使用SQLAlchemy创建数据模型11
设置SQLAlchemy11
Python安装包12
Flask SQLAlchemy12
我们的第1个数据模型13
创建user表15
CRUD16
新增数据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 WTForms45
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 Login87
用户角色90
总结95
第7章 在Flask中使用NoSQL数据库96
NoSQL数据库的种类96
键值数据库97
文档数据库97
列式数据库98
基于图的数据库100
关系型数据库与NoSQL的比较101
关系型数据库的优势102
NoSQL数据库的优势103
在什么情况下用什么数据库104
在Flask中使用MongoDB105
安装MongoDB106
配置MongoEngine106
定义文档107
CRUD112
NoSQL中的关联关系117
利用NoSQL的强大能力120
总结126
第8章 构建RESTful API127
REST是什么127
构建RESTful Flask API130
GET请求131
格式化输出132
请求中的参数135
POST请求138
身份认证140
PUT请求143
DELETE请求146
总结147
第9章 使用Celery编写异步任务148
Celery是什么148
配置Celery和RabbitMQ150
在Celery中创建任务151
运行Celery任务154
Celery工作流155
监控Celery160
在Flower中通过网页进行监控161
创建一个提醒应用161
生成每周摘要163
总结167
第10章 有用的Flask扩展168
Flask Script168
Flask Debug Toolbar170
Flask Cache173
缓存函数和视图174
缓存带参数的函数175
缓存带有查询参数的路径177
使用Redis作为缓存后端177
使用memcached 作为缓存后端178
Flask Assets178
Flask Admin181
编写基础管理页面182
编写数据库管理页面184
增强文章管理功能185
编写文件系统管理页面187
保护Flask Admin的安全188
Flask Mail189
总结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
Gevent224
Tornado225
Nginx和uWSGI226
Apache和uWSGI229
部署在Heroku上230
使用Heroku Postgres231
在Heroku中使用Celery232
在AWS上部署应用233
在Amazon Elastic Beanstalk上使用Flask233
使用Amazon Relational Database Service235
在Amazon Simple Queue Service中使用Celery236
总结237
17081人在学
20346人在学
11225人在学