0 0 0

Flask Web开发实战:入门、进阶与原理解析.pdf

晚烛杯欢
3天前 150
我用夸克网盘分享了「Flask Web开发实战:入门、进阶与原理解析.pdf」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。
Flask Web开发实战 作者: 李辉 出版社: 机械工业出版社 副标题: 入门、进阶与原理解析 出版年: 2018-8-1 页数: 704 定价: 129 装帧: 平装 丛书: Web开发技术丛书 ISBN: 9787111606598

内容简介

这是一本面向Python程序员的,全面介绍Python Web框架Flask的书。关于本书的详细介绍、相关资源等更多信息可以访问本书的官方主页http://helloflask.com/book了解。 • 国内首本Flask著作,在内容上涵盖完整的Flask Web开发学习路径,在实践上包含完整的Flask Web程序开发流程。同时兼容Python2 .7和Python3.6。 • 内容最新,基于Flask 1.0.2版本,所有的Python库、前端框架和JavaScript库均使用最新版本。 • 内容全面,除了基础知识,还包含Web API、全文搜索、国际化和本地化、第三方登录、AJAX、WebSocket、源码分析、扩展开发等实用内容。 • 实战性强,包含8个示例程序,5个实战项目和1个Flask扩展。实战项目包括留言板、个人博客、图片社交网站、待办事项程序和聊天室,分别对应不同的知识点,难度递增。 • 5个实战项目的Git标签经过精心设置,每个标签都对应新增的某个程序功能。 • 全书所有章节均经过精心设计和编排,力求满足不同水平读者的需要,并且让读者可以循序渐进的掌握Flask开发知识和技巧。 • 通过丰富的图表和代码示例讲解复杂知识点,尽量做到通俗易懂。 本书共16章,分为三部分。 第一部分 基础篇(第1~6章) 通过大量的程序实例详细介绍了Flask的所有基础知识,同时在每章的后面又提供了一些进阶技巧,供进阶读者学习。 第二部分 实战篇(第7~11章) 通过5个真实的项目案例来串接和阐释不同的知识点,难度逐渐递增。这5个案例分别为:留言板SayHello、个人博客Bluelog、图片社交网站Albumy、待办事项程序Todoism和聊天室CatChat。 第三部分 进阶篇(第12~16章) 首先介绍了Flask程序的部署流程:测试、性能优化和部署上线;然后通过一个真实的实例讲解了Flask扩展的开发,最后以源代码为切入点深入剖析了Flask的实现原理与主要工作机制。

作者简介

李辉(Grey Li),Flask官方开发团队(Pallets Team)成员,知乎专栏“Hello, Flask!”作者,HelloFlask.com网站创建者。对Flask有非常深入的研究,熟悉它的源代码,有丰富的项目经验。 他热爱分享和创造,曾为Flask等多个开源项目贡献过代码,你可以在GitHub(github.com/greyli)上看到他的开源活动。在他的个人网站(greyli.com)上,你可以了解到关于他的更多信息。

网友热评

cacoo: 书没读过,因缘际会看了书中的几个demo源代码,很有启发,谢谢 xiejava: 应该是学Flask最好最全面的书了,比起狗书内容更多实用性更强。 沉淀: 说读完了,是读完了。说没读完,是因为还要读源码消化下。算是看过flask0.1"最小模型“的源码了吧

图书目录

第1章初识Flask 1.1搭建开发环境 1.1.1Pipenv工作流 1.1.2安装Flask 1.1.3集成开发环境 1.2Hello,Flask! 1.2.1创建程序实例 1.2.2注册路由 1.3启动开发服务器 1.3.1Run,Flask,Run! 1.3.2更多的启动选项 1.3.3设置运行环境 1.4PythonShell 1.5Flask扩展 1.6项目配置 1.7URL与端点 1.8Flask命令 1.9模板与静态文件 1.10Flask与MVC架构 1.11本章小结 第2章Flask与HTTP 2.1请求响应循环 2.2HTTP请求 2.2.1请求报文 2.2.2Request对象 2.2.3在Flask中处理请求 2.2.4请求钩子 2.3HTTP响应 2.3.1响应报文 2.3.2在Flask中生成响应 2.3.3响应格式 2.3.4来一块Cookie 2.3.5session:安全的Cookie 2.4Flask上下文 2.4.1上下文全局变量 2.4.2激活上下文 2.4.3上下文钩子 2.5HTTP进阶实践 2.5.1重定向回上一个页面 2.5.2使用AJAX技术发送异步请求 2.5.3HTTP服务器端推送 2.5.4Web安全防范 2.6本章小结 第3章模板 3.1模板基本用法 3.1.1创建模板 3.1.2模板语法 3.1.3渲染模板 3.2模板辅助工具 3.2.1上下文 3.2.2全局对象 3.2.3过滤器 3.2.4测试器 3.2.5模板环境对象 3.3模板结构组织 3.3.1局部模板 3.3.2宏 3.3.3模板继承 3.4模板进阶实践 3.4.1空白控制 3.4.2加载静态文件 3.4.3消息闪现 3.4.4自定义错误页面 3.4.5JavaScript和CSS中的Jinja2 3.5本章小结 第4章表单 4.1HTML表单 4.2使用Flask-WTF处理表单 4.2.1定义WTForms表单类 4.2.2输出HTML代码 4.2.3在模板中渲染表单 4.3处理表单数据 4.3.1提交表单 4.3.2验证表单数据 4.3.3在模板中渲染错误消息 4.4表单进阶实践 4.4.1设置错误消息语言 4.4.2使用宏渲染表单 4.4.3自定义验证器 4.4.4文件上传 4.4.5使用Flask-CKEditor集成富文本编辑器 4.4.6单个表单多个提交按钮 4.4.7单个页面多个表单 4.5本章小结 第5章数据库 5.1数据库的分类 5.1.1SQL 5.1.2NoSQL 5.1.3如何选择? 5.2ORM魔法 5.3使用Flask-SQLAlchemy管理数据库 5.3.1连接数据库服务器 5.3.2定义数据库模型 5.3.3创建数据库和表 5.4数据库操作 5.4.1CRUD 5.4.2在视图函数里操作数据库 5.5定义关系 5.5.1配置PythonShell上下文 5.5.2一对多 5.5.3多对一 5.5.4一对一 5.5.5多对多 5.6更新数据库表 5.6.1重新生成表 5.6.2使用Flask-Migrate迁移数据库 5.6.3开发时是否需要迁移? 5.7数据库进阶实践 5.7.1级联操作 5.7.2事件监听 5.8本章小结 第6章电子邮件 6.1使用Flask-Mail发送电子邮件 6.1.1配置Flask-Mail 6.1.2构建邮件数据 6.1.3发送邮件 6.2使用事务邮件服务SendGird 6.2.1注册SendGird 6.2.2SendGridSMTP转发 6.2.3SendGridWebAPI转发 6.3电子邮件进阶实践 6.3.1提供HTML正文 6.3.2使用Jinja2模板组织邮件正文 6.3.3异步发送邮件 6.4本章小结 第二部分实战篇 第7章留言板 7.1使用包组织代码 7.1.1配置文件 7.1.2创建程序实例 7.2Web程序开发流程 7.2.1程序功能设计 7.2.2前端页面开发 7.2.3后端程序开发 7.3使用Bootstrap-Flask简化页面编写 7.3.1加载资源文件 7.3.2快捷渲染表单 7.4使用Flask-Moment本地化日期和时间 7.4.1本地化前的准备 7.4.2使用Flask-Moment集成Moment.js 7.4.3渲染时间日期 7.5使用Faker生成虚拟数据 7.6使用Flask-DebugToolbar调试程序 7.7Flask配置的两种组织形式 7.7.1环境变量优先 7.7.2实例文件夹覆盖 7.8本章小结 第8章个人博客 8.1大型项目结构 8.1.1使用蓝本模块化程序 8.1.2使用类组织配置 8.1.3使用工厂函数创建程序实例 8.2编写程序骨架 8.2.1数据库 8.2.2模板 8.2.3表单 8.2.4视图函数 8.2.5电子邮件支持 8.3编写博客前台 8.3.1分页显示文章列表 8.3.2显示文章正文 8.3.3文章固定链接 8.3.4显示分类文章列表 8.3.5显示评论列表 8.3.6发表评论与回复 8.3.7支持回复评论 8.3.8网站主题切换 8.4初始化博客 8.4.1安全存储密码 8.4.2创建管理员用户 8.5使用Flask-Login管理用户认证 8.5.1获取当前用户 8.5.2登入用户 8.5.3登出用户 8.5.4视图保护 8.6使用CSRFProtect实现CSRF保护 8.7编写博客后台 8.7.1文章管理 8.7.2评论管理 8.7.3分类管理 8.8本章小结 第9章图片社交网站 9.1项目组织架构 9.1.1功能式架构 9.1.2分区式架构 9.1.3混合式架构 9.1.4如何选择 9.2编写程序骨架 9.2.1数据库模型与虚拟数据 9.2.2模板与静态文件 9.3高级用户认证 9.3.1用户注册 9.3.2验证邮箱地址 9.3.3使用装饰器过滤未确认用户 9.3.4密码重置 9.4基于用户角色的权限管理 9.4.1角色与权限模型 9.4.2设置角色与权限 9.4.3写入角色与权限 9.4.4验证用户权限 9.5使用Flask-Dropzone优化文件上传 9.5.1配置Flask-Dropzone 9.5.2渲染上传区域 9.5.3处理并保存上传图片 9.6使用Flask-Avatars处理用户头像 9.6.1默认头像 9.6.2生成随机头像 9.7图片展示与管理 9.7.1在用户主页显示图片列表 9.7.2图片详情页 9.7.3上一张下一张跳转 9.7.4删除确认模态框 9.7.5举报图片 9.7.6图片描述 9.7.7图片标签 9.7.8用户资料弹窗 9.8收藏图片 9.8.1使用关联模型表示多对多关系 9.8.2添加和取消收藏 9.8.3收藏者和收藏页面 9.9用户关注 9.9.1自引用多对多关系 9.9.2关注与取消关注 9.9.3显示关注用户列表 9.9.4使用AJAX在弹窗中执行关注操作 9.10消息提醒 9.10.1提醒消息在数据库中的表示 9.10.2创建提醒 9.10.3显示和管理提醒 9.10.4通过轮询实时更新未读计数 9.11用户资料与账户设置 9.11.1编辑个人资料 9.11.2自定义头像 9.11.3更改密码 9.11.4提醒消息开关 9.11.5将收藏设为仅自己可见 9.11.6注销账号 9.12首页与探索 9.12.1获取正在关注用户的图片 9.12.2使用联结和分组查询获取热门标签 9.12.3使用数据库通用函数获取随机图片 9.13使用Flask-Whooshee实现全文搜索 9.13.1创建索引 9.13.2搜索表单 9.13.3显示搜索结果 9.14编写网站后台 9.14.1用户管理 9.14.2资源管理 9.14.3面向管理员的用户资料编辑 9.15本章小结 第10章待办事项程序 10.1使用JavaScript和AJAX编写单页程序 10.1.1单页程序的模板组织 10.1.2在根页面内切换子页面 10.1.3生成测试账户 10.1.4添加新待办条目 10.2国际化与本地化 10.2.1使用Flask-Babel集成Babel 10.2.2区域和语言 10.2.3文本的国际化 10.2.4文本的本地化 10.2.5时间与日期的本地化 10.3设计并编写WebAPI 10.3.1认识WebAPI 10.3.2设计优美实用的WebAPI 10.3.3使用Flask编写WebAPI 10.3.4使用OAuth认证 10.3.5资源的序列化 10.3.6资源的反序列化 10.3.7WebAPI的测试与发布 10.4本章小结 第11章在线聊天室 11.1编写程序骨架 11.2Gravatar头像 11.3使用Flask-SocketIO建立实时双向通讯 11.3.1建立Socket.IO连接 11.3.2一条消息的旅程 11.3.3在线人数统计 11.3.4通讯频道分离 11.4使用Flask-OAuthlib实现第三方登录 11.4.1编写OAuth客户端 11.4.2注册OAuth程序 11.4.3处理OAuth2授权 11.4.4处理OAuth1授权 11.5聊天室功能增强 11.5.1无限滚动加载历史消息 11.5.2Markdown支持 11.5.3代码语法高亮 11.5.4标签页消息提醒 11.5.5浏览器桌面通知 11.5.6消息管理 11.6本章小结 第三部分高级篇 第12章自动化测试 12.1认识自动化测试 12.2Flask测试客户端 12.3使用unittest编写单元测试 12.3.1Flask程序的测试固件 12.3.2编写测试用例 12.3.3组织测试 12.3.4运行测试 12.4使用Selenium进行用户界面测试 12.4.1安装浏览器与驱动 12.4.2准备测试环境 12.4.3编写测试代码 12.5使用Coverage.py计算测试覆盖率 12.5.1基本用法 12.5.2获取测试覆盖率 12.6使用Flake8检查代码质量 12.7本章小结 第13章性能优化 13.1程序性能分析 13.1.1函数性能分析 13.1.2数据库查询分析 13.2使用Flask-Caching设置缓存 13.2.1缓存视图函数 13.2.2缓存其他函数 13.2.3更新缓存 13.2.4使用Redis作为缓存后端 13.3使用Flask-Assets优化静态资源 13.3.1注册资源集 13.3.2生成资源集文件 13.3.3在模板中加载资源集 13.4本章小结 第14章部署上线 14.1传统部署VS云部署 14.2基本部署流程 14.3部署前的准备 14.3.1更新程序配置 14.3.2创建生产环境专用的程序实例 14.3.3设置迁移工具 14.3.4程序日志 14.3.5手动导入环境变量 14.3.6HTTPS转发 14.4部署到Linux服务器 14.4.1使用OpenSSH登录远程主机 14.4.2安装基本库和工具 14.4.3安全防护措施 14.4.4推送代码并初始化程序环境 14.4.5使用Gunicorn运行程序 14.4.6使用Nginx提供反向代理 14.4.7使用Supervisor管理进程 14.4.8更新部署后的程序 14.5部署到PythonAnywhere 14.5.1反向代理设置 14.5.2创建PythonAnywhere程序 14.5.3推送代码并初始化程序环境 14.5.4创建数据库 14.5.5设置虚拟环境 14.5.6静态文件 14.5.7运行和更新程序 14.6部署到Heroku 14.6.1通过HerokuGit部署 14.6.2使用GitHub部署 14.7下一步做什么? 14.8本章小结 第15章Flask扩展开发 15.1扩展的命名 15.2扩展项目骨架 15.3编写扩展类 15.4添加扩展配置 15.5实现扩展功能 15.5.1加载静态资源 15.5.2创建分享组件 15.5.3在移动设备上隐藏 15.6开源发布前的准备 15.6.1添加文档字符串与注释 15.6.2编写README与文档 15.6.3为打包做准备 15.6.4编写示例程序 15.6.5编写单元测试 15.7发布到PyPI 15.7.1创建PyPI账号 15.7.2使用setuptools打包 15.7.3使用twine上传 15.8编写良好的扩展 15.9本章小结 第16章Flask工作原理与机制解析 16.1阅读Flask源码 16.1.1获取Flask源码 16.1.2如何阅读源码 16.1.3Flask发行版本分析 16.2Flask的设计理念 16.2.1“微”框架 16.2.2两个核心依赖 16.2.3显式程序对象 16.2.4本地上下文 16.2.5三种程序状态 16.2.6丰富的自定义支持 16.3Flask与WSGI 16.3.1WSGI程序 16.3.2WSGI服务器 16.3.3中间件 16.4Flask的工作流程与机制 16.4.1Flask中的请求响应循环 16.4.2路由系统 16.4.3本地上下文 16.4.4请求与响应对象 16.4.5session 16.4.6蓝本 16.4.7模板渲染 16.5本章小结

Flask

版权说明

1、本站不保存、不存储任何实质资源,以上二维码指向为网盘资源链接,其内容归对应版权方所有
2、如有侵犯版权的情况,请点击下面举报/反馈按钮反馈或发送邮件76556431@qq.com投诉说明情况
3、我们核实后将第一时间删除相关页面内容,谢谢理解和配合

这些人下载过 (12)
  • 岁月静好
  • 涂着红唇戒烟
  • 得舍
  • 用情专一
  • 东京雨
  • 情史
  • 纯真师妹
  • 冒牌淑女
  • 缺你不可
  • 故事与月有关
  • 風格自持
  • 给了不该给的柔情
最新回复 (0)

    暂无评论

请先登录后发表评论!

返回
请先登录后发表评论!