作者 |
张学建 |
丛书名 |
出版社 |
机械工业出版社* |
ISBN |
9787111673170 |
简要 |
简介 |
内容简介书籍计算机书籍 Flask Web开发入门、进阶与实战介绍了使用Python语言开发Flask Web程序的知识,并通过具体实例讲解了使用Flask框架的方法和流程。全书共18章,内容包括Flask Web开发基础、使用Flask模板、实现表单操作、Flask数据库操作、用户登录验证、收发电子邮件、使用Flask-Admin开发后台管理系统、使用上下文技术、项目优化、处理静态文件、开发RESTful API、系统调试和部署、计数器模块、在线留言系统模块、富文本编辑器模块、分页模块、信息发布模块、基于深度学习的人脸识别系统。全书简洁而不失技术深度,内容丰富而全面,不仅易于阅读,而且涵盖了其他同类图书中很少涉及的历史参考资料,是学习Flask Web开发的实用教程。 Flask Web开发入门、进阶与实战适用于已了解Python基础知识、希望进一步提高个人开发水平的读者,还可以作为大中专院校和培训学校相关专业师生的学习参考用书。 |
目录 |
前言 第1章 Flask Web开发基础 1 1 Flask框架介绍 1 1 1 Flask框架的基本结构 1 1 2 Flask和Django的对比 1 2 安装Flask 1 2 1 快速安装Flask 1 2 2 使用PyCharm创建虚拟环境 1 3 初步认识Flask Web程序 1 3 1 编写第一个Flask Web程序 1 3 2 使用PyCharm编写第一个Flask Web程序 1 4 分析Flask Web程序的基本结构 1 4 1 运行方法run() 1 4 2 路由处理 1 4 3 处理URL参数 1 4 4 传递HTTP请求 1 4 5 模拟实现用户登录系统 1 5 Flask-Script扩展 1 5 1 Flask-Script扩展介绍 1 5 2 使用Flask-Script扩展 1 5 3 创建命令 1 6 系统配置 1 6 1 基础配置 1 6 2 使用配置信息 1 6 3 实例文件夹 第2章 使用Flask模板 2 1 使用Jinja2模板引擎 2 2Jinja2 模板的基本元素 2 2 1 变量 2 2 2 使用控制结构 2 2 3 包含页和宏 2 3 使用Flask-Bootstrap扩展 2 3 1 Flask-Bootstrap扩展基础 2 3 2 在Flask Web中使用Flask-Bootstrap扩展 2 3 3 自定义错误页面 2 4 使用Flask-Moment扩展本地化处理日期和时间 2 4 1 Flask-Moment基础 2 4 2 使用Flask-Moment显示时间 2 5 静态文件 2 5 1 静态文件介绍 2 5 2 使用静态文件 2 6 可插拔视图 2 6 1 使用可插拔视图 2 6 2 可插拔视图实战演练 第3章 实现表单操作 3 1使用Flask-WTF扩展 3 1 1Flask-WTF基础 3 1 2使用Flask-WTF处理表单 3 2重定向和会话处理 3 2 1Flask中的重定向和会话处理 3 2 2实现重定向和会话处理 3 3Flash闪现提示 3 3 1Flash基础 3 3 2使用模板渲染flash()函数的闪现提示信息 3 4文件上传 3 4 1简易文件上传程序 3 4 2查看上传的图片 3 4 3使用Flask-WTF实现文件上传 3 4 4使用Flask-Uploads扩展上传文件 3 5登录验证 3 5 1验证两次密码是否相同 3 5 2注册验证和登录验证 第4章 Flask数据库操作 4 1关系型数据库和非关系型数据库 4 1 1关系型数据库 4 1 2非关系型数据库 4 2Python语言的数据库框架 4 2 1程序文件 4 2 2模板文件 4 3使用Flask-SQLAlchemy管理数据库 4 3 1Flask-SQLAlchemy基础 4 3 2定义模型 4 3 3关系 4 4使用Flask-SQLAlchemy操作数据库 4 4 1新建表 4 4 2添加行 4 4 3修改行 4 4 4删除行 4 4 5查询行 4 4 6在视图函数中操作数据库 4 4 7使用Flask-SQLAlchemy实现一个简易登录系统 4 4 8使用Flask-SQLAlchemy实现小型BBS系统 4 5将数据库操作集成到Python shell 4 6使用Flask-Migrate实现数据库迁移 4 6 1创建Virtualenv虚拟环境 4 6 2创建迁移仓库 4 6 3创建迁移脚本 4 6 4更新数据库 4 7使用CouchDB数据库 4 7 1搭建开发环境 4 7 2图书发布系统 4 7 3文件上传系统 4 8 Virtualenv+Flask+MySQL+SQLAlchemy信息发布系统 4 8 1使用Virtualenv创建虚拟环境 4 8 2使用Flask实现数据库迁移 4 8 3具体实现 4 9流行电影展示系统 4 9 1TheMovieDB简介 4 9 2开发流程介绍 4 9 3具体实现 第5章 用户登录验证 5 1使用Cookie和Session 5 1 1 Flask框架中的Cookie 5 1 2 Flask框架中的Session 5 2使用 Flask-Login认证用户 5 2 1 Flask-Login基础 5 2 2简易登录验证系统 5 3用户注册、登录验证系统 5 3 1使用WTForms处理表单 5 3 2主程序文件 5 3 3模板文件 5 4使用Werkzeug实现散列密码 5 4 1 Werkzeug基础 5 4 2图书借阅管理系统 5 5使用PyJWT提高用户信息的安全性 5 5 1使用JWT认证机制的基本流程 5 5 2用户注册、登录验证系统 5 6使用Flask-OAuthlib扩展实现OAuth2登录验证 5 6 1豆瓣网授权登录验证 5 6 2 QQ授权登录验证 第6章 收发电子邮件 6 1使用Python内置模块收发邮件 6 1 1使用内置模块poplib 6 1 2开发SMTP邮件协议程序 6 1 3发送带附件功能的邮件 6 2在Flask Web程序中收发电子邮件 6 2 1使用Flask-Mail 扩展 6 2 2使用SendGrid发送邮件 6 2 3异步发送电子邮件 6 2 4使用库envelopes发送邮件 6 3利用邮箱会员找回密码 6 3 1系统配置 6 3 2数据库模型 6 3 3模板文件 6 3 4表单处理 6 3 5 URL导航 6 3 6发送邮件提醒并重设密码 第7章 使用Flask-Admin开发后台管理系统 7 1 Flask-Admin基础 7 1 1安装并使用Flask-Admin 7 1 2使用模板文件 7 1 3添加子菜单 7 2数据库模型视图 7 2 1创建基本模型视图 7 2 2 Flask-Admin使用SQLite数据库 7 2 3 Flask-Admin使用MongoDB数据库 7 3文件管理 7 4身份验证 7 4 1使用Flask-Login为后台提供身份验证功能 7 4 2基于MongoDB数据库的后台登录系统 7 4 3使用Flask-Security实现身份验证 第8章 使用上下文技术 8 1上下文介绍 8 1 1面向对象的双下画线方法 8 1 2偏函数 8 1 3使用threading local 8 2请求上下文和应用上下文 8 2 1请求上下文 8 2 2应用上下文 第9章 项目优化 9 1使用蓝图实现模块化 9 1 1使用蓝图的场景 9 1 2创建蓝图程序 9 1 3实现第一个蓝图程序 9 2 Flask-Cache扩展 9 2 1使用Flask-Cache扩展 9 2 2使用Flask-Caching扩展 9 3基于Celery的后台任务 9 3 1在Flask Web中使用Celery基础 9 3 2使用Celery异步发送邮件并显示进度条 第10章 处理静态文件 10 1使用Flask-Assets扩展压缩静态文件 10 1 1 Flask-Assets基础 10 1 2在线留言系统 10 2使用Flask-Themes修饰Web程序 10 2 1 Flask-Themes基础 10 2 2使用Flask-Themes 第11章 开发RESTful API 11 1 RESTful基础 11 2 RESTful Web Services 11 2 1创建Web Service 11 2 2使用Flask实现RESTful Web Service 11 2 3加强 RESTful Web Services的安全性 11 2 4一个完整的Flask RESTful实例 11 3使用Flask-RESTful扩展 11 3 1创建Flask-RESTful程序 11 3 2创建路由 11 3 3解析并验证请求 11 3 4生成响应 11 3 5认证 第12章 系统调试和部署 12 1 Flask信号机制 12 1 1信号的意义 12 1 2创建信号 12 1 3订阅信号 12 1 4发送信号 12 1 5基于装饰器的信号订阅 12 1 6第一个信号订阅实例 12 2使用Flask-Babel扩展实现全球化部署 12 2 1 Flask-Babel基础 12 2 2创建第一个全球化Web程序 12 3使用Flask-DebugToolbar扩展调试程序 12 3 1 Flask-DebugToolbar基础 12 3 2配置Flask-DebugToolbar 12 3 3 Flask-DebugToolbar的内置面板 12 3 4使用Flask-Debug Toolbar 12 4使用Flask-Testing扩展 12 4 1 Python中的单元测试 12 4 2 Flask-Testing基础 12 4 3实现Twill+Flask-Testing测试 12 4 4为留言板系统添加单元测试功能 第13章 计数器模块 13 1使用Session实现计数器功能 13 1 1简易Session计数器 13 1 2 Session计数器的升级版 13 2多线程计数器 13 3使用redis保存计数数据 13 3 1简易redis计数器 13 3 2精准点赞计数器 13 4在线投票系统 13 4 1基于轮询的简易投票系统 13 4 2长轮询投票系统 13 5完整的在线投票系统 13 5 1系统配置 13 5 2创建数据库 13 5 3异步处理 13 5 4实现基本功能 13 5 5模板文件 第14章 在线留言系统模块 14 1在线留言系统简介 14 2在线留言系统实例概述 14 3系统配置 14 3 1总体配置 14 3 2数据库设计 14 4留言数据显示模块 14 4 1视图文件 14 4 2表单文件 第15章 富文本编辑器模块 15 1使用UEditor 15 1 1在Flask项目中使用UEditor 15 1 2 UEditor文件上传系统 15 2使用CKEditor 15 2 1 Flask-CKEditor基础 15 2 2 Flask-Admin和Flask-CKEditor集成 15 2 3图片上传系统 第16章 分页模块 16 1使用Flask-SQLALchemy实现分页 16 1 1使用Pagination对象 16 1 2使用Flask-SQLALchemy分页显示数据库数据的基本流程 16 2自定义分页工具类 16 3使用Flask-Pagination实现分页 16 3 1 Flask-Pagination基础 16 3 2 Flask-Pagination分页系统 第17章 信息发布模块 17 1信息发布系统简介 17 2信息发布系统实例概述 17 3系统配置 17 3 1总体配置 17 3 2数据库设计 17 4新闻展示模块 17 4 1URL映射 17 4 2新闻展示函数 17 5后台管理模块 17 5 1发布新闻 17 5 2设置站点信息 17 5 3设置用户信息 第18章 基于深度学习的人脸识别系统 18 1系统需求分析 18 1 1系统功能分析 18 1 2实现流程分析 18 1 3技术分析 18 2照片样本采集 18 3深度学习和训练 18 3 1原始图像预处理 18 3 2构建人脸识别模块 18 4人脸识别 18 5 Flask Web人脸识别接口 18 5 1导入库文件 18 5 2识别上传照片 18 5 3在线识别 |