cover

Flask Web开发

Miguel Grinberg / 人民邮电出版社 / 2015

和其他框架相比,Flask 之所以能脱颖而出,原因在于它让开发者做主。或许你曾听过 “和框架斗争”这一说法。例如,你可能想使用不同的数据库引擎或者不同的用户认证方法。 这种偏离框架开发者设定路线的做法往往会给你带来很多麻烦。但Flask就不一样了,它 使开发者能对程序具有全面的创意控制。

¥29.99 / 3个月在线服务,赠送PDF电子书
  • 正版授权内容
  • 在线练习环境
  • 答疑服务支持
  • 离线PDF下载
版权声明 O'Reilly Media, Inc.介绍 业界评论 前言 面向的读者群 本书结构 如何使用示例代码 使用代码示例 排版约定 Safari® Books Online 联系我们 致谢 第一部分 Flask简介 第 1 章 安装 1.1 使用虚拟环境 1.2 使用pip安装Python包 第 2 章 程序的基本结构 2.1 初始化 2.2 路由和视图函数 2.3 启动服务器 2.4 一个完整的程序 2.5 请求-响应循环 2.5.1 程序和请求上下文 2.5.2 请求调度 2.5.3 请求钩子 2.5.4 响应 2.6 Flask扩展 2.6.1 使用Flask-Script支持命令行选项 第 3 章 模板 3.1 Jinja2模板引擎 3.1.1 渲染模板 3.1.2 变量 3.1.3 控制结构 3.2 使用Flask-Bootstrap集成Twitter Bootstrap 3.3 自定义错误页面 3.4 链接 3.5 静态文件 3.6 使用Flask-Moment本地化日期和时间 第 4 章 Web表单 4.1 跨站请求伪造保护 4.2 表单类 4.3 把表单渲染成HTML 4.4 在视图函数中处理表单 4.5 重定向和用户会话 4.6 Flash消息 第 5 章 数据库 5.1 SQL数据库 5.2 NoSQL数据库 5.3 使用SQL还是NoSQL 5.4 Python数据库框架 5.5 使用Flask-SQLAlchemy管理数据库 5.6 定义模型 5.7 关系 5.8 数据库操作 5.8.1 创建表 5.8.2 插入行 5.8.3 修改行 5.8.4 删除行 5.8.5 查询行 5.9 在视图函数中操作数据库 5.10 集成Python shell 5.11 使用Flask-Migrate实现数据库迁移 5.11.1 创建迁移仓库 5.11.2 创建迁移脚本 5.11.3 更新数据库 第 6 章 电子邮件 使用Flask-Mail提供电子邮件支持 在Python shell中发送电子邮件 在程序中集成发送电子邮件功能 异步发送电子邮件 第 7 章 大型程序的结构 7.1 项目结构 7.2 配置选项 7.3 程序包 7.3.1 使用程序工厂函数 7.3.2 在蓝本中实现程序功能 7.4 启动脚本 7.5 需求文件 7.6 单元测试 7.7 创建数据库 第二部分 实例:社会化博客程序 第 8 章 用户认证 8.1 Flask的认证扩展 8.2 密码安全性 使用Werkzeug实现密码散列 8.3 创建认证蓝本 8.4 使用Flask-Login认证用户 8.4.1 准备用于登录的用户模型 8.4.2 保护路由 8.4.3 添加登录表单 8.4.4 登入用户 8.4.5 登出用户 8.4.6 测试登录 8.5 注册新用户 8.5.1 添加用户注册表单 8.5.2 注册新用户 8.6 确认账户 8.6.1 使用itsdangerous生成确认令牌 8.6.2 发送确认邮件 8.7 管理账户 第 9 章 用户角色 9.1 角色在数据库中的表示 9.2 赋予角色 9.3 角色验证 第 10 章 用户资料 10.1 资料信息 10.2 用户资料页面 10.3 资料编辑器 10.3.1 用户级别的资料编辑器 10.3.2 管理员级别的资料编辑器 10.4 用户头像 第 11 章 博客文章 11.1 提交和显示博客文章 11.2 在资料页中显示博客文章 11.3 分页显示长博客文章列表 11.3.1 创建虚拟博客文章数据 11.3.2 在页面中渲染数据 11.3.3 添加分页导航 11.4 使用Markdown和Flask-PageDown支持富文本文章 11.4.1 使用Flask-PageDown 11.4.2 在服务器上处理富文本 11.5 博客文章的固定链接 11.6 博客文章编辑器 第 12 章 关注者 12.1 再论数据库关系 12.1.1 多对多关系 12.1.2 自引用关系 12.1.3 高级多对多关系 12.2 在资料页中显示关注者 12.3 使用数据库联结查询所关注用户的文章 12.4 在首页显示所关注用户的文章 第 13 章 用户评论 13.1 评论在数据库中的表示 13.2 提交和显示评论 13.3 管理评论 第 14 章 应用编程接口 14.1 REST简介 14.1.1 资源就是一切 14.1.2 请求方法 14.1.3 请求和响应主体 14.1.4 版本 14.2 使用Flask提供REST Web服务 14.2.1 创建API蓝本 14.2.2 错误处理 14.2.3 使用Flask-HTTPAuth认证用户 14.2.4 基于令牌的认证 14.2.5 资源和JSON的序列化转换 14.2.6 实现资源端点 14.2.7 分页大型资源集合 14.2.8 使用HTTPie测试Web服务 第三部分 成功在望 第 15 章 测试 15.1 获取代码覆盖报告 15.2 Flask测试客户端 15.2.1 测试Web程序 15.2.2 测试Web服务 15.3 使用Selenium进行端到端测试 15.4 值得测试吗 第 16 章 性能 16.1 记录影响性能的缓慢数据库查询 16.2 分析源码 第 17 章 部署 17.1 部署流程 17.2 把生产环境中的错误写入日志 17.3 云部署 17.4 Heroku平台 17.4.1 准备程序 17.4.2 使用Foreman进行测试 17.4.3 使用Flask-SSLify启用安全HTTP 17.4.4 执行git push命令部署 17.4.5 查看日志 17.4.6 部署一次升级 17.5 传统的托管 17.5.1 架设服务器 17.5.2 导入环境变量 17.5.3 配置日志 第 18 章 其他资源 18.1 使用集成开发环境 18.2 查找Flask扩展 18.3 参与Flask开发 关于封面图