注重体验与质量的电子书资源下载网站
分类于: 编程语言 计算机基础 互联网 云计算&大数据 人工智能
简介
深入理解Flask: 掌握用Python创建强大动态Web应用的技术 豆 8.4分
资源最后更新于 2020-03-29 05:06:34
作者:〔美〕杰克·史都华(Jack Stouffer)
译者:苏丹
出版社:出版社电子工业出版社
出版日期:2016-07
ISBN:9787121292316
文件格式: pdf
简介· · · · · ·
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章 入门
使用Git进行版本控制
安装Git
使用pip管理Python包
在Windows上安装pip
在Mac OS X和Linux上安装Python包管理器pip
pip基本操作
用virtualenv的沙盒管理依赖
virtualenv基础
开始我们的项目
使用Flask Script
总结
第2章 使用SQLAlchemy创建数据模型
设置SQLAlchemy
Python安装包
Flask SQLAlchemy
我们的第1个数据模型
创建user表
CRUD
新增数据
读取数据
修改数据
删除数据
数据模型之间的关联
一对多
多对多
SQLAlchemy会话对象的方便之处
使用Alembic进行数据库迁移
总结
第3章 通过模板创建视图
Jinja的语法
过滤器
注释
if语句
循环
宏
Flask特有的变量和函数
创建视图
视图函数
编写和继承模板
Flask WTForms
WTForms基础
自定义检验器
发布评论
总结
第4章 使用蓝图创建控制器
请求的构建和销毁,以及全局变量
错误页面
使用类描述视图
方法视图
蓝图
总结
第5章 进阶的应用结构
模块项目
重构代码
应用的工厂模式
总结
第6章 保护应用安全
准备工作
修改用户模型
创建表单
创建视图
社交网络登录
使用会话
使用Flask Login
用户角色
总结
第7章 在Flask中使用NoSQL数据库
NoSQL数据库的种类
键值数据库
文档数据库
列式数据库
基于图的数据库
关系型数据库与NoSQL的比较
关系型数据库的优势
NoSQL数据库的优势
在什么情况下用什么数据库
在Flask中使用MongoDB
安装MongoDB
配置MongoEngine
定义文档
CRUD
NoSQL中的关联关系
利用NoSQL的强大能力
总结
第8章 构建RESTful API
REST是什么
构建RESTful Flask API
GET请求
格式化输出
请求中的参数
POST请求
身份认证
PUT请求
DELETE请求
总结
第9章 使用Celery编写异步任务
Celery是什么
配置Celery和RabbitMQ
在Celery中创建任务
运行Celery任务
Celery工作流
监控Celery
在Flower中通过网页进行监控
创建一个提醒应用
生成每周摘要
总结
第10章 有用的Flask扩展
Flask Script
Flask Debug Toolbar
Flask Cache
缓存函数和视图
缓存带参数的函数
缓存带有查询参数的路径
使用Redis作为缓存后端
使用memcached作为缓存后端
Flask Assets
Flask Admin
编写基础管理页面
编写数据库管理页面
增强文章管理功能
编写文件系统管理页面
保护Flask Admin的安全
Flask Mail
总结
第11章 构建你自己的扩展
编写一个YouTube Flask扩展
创建Python包
通过Flask扩展修改响应数据
总结
第12章 测试Flask应用
什么是单元测试
怎样进行测试
对应用进行单元测试
测试路由函数
用户界面测试
测试覆盖率
测试驱动的开发
总结
第13章 部署Flask应用
部署在你自己的服务器上
使用fabric把代码推送到服务器
使用supervisor运行你的Web服务器
Gevent
Tornado
Nginx和uWSGI
Apache和uWSGI
部署在Heroku上
使用Heroku Postgres
在Heroku中使用Celery
在AWS上部署应用
在Amazon Elastic Beanstalk上使用Flask
使用Amazon Relational Database Service
在Amazon Simple Queue Service中使用Celery
总结