技术教育社区
www.teccses.org

Flask Web开发入门、进阶与实战

封面

作者:张学建编著

页数:334页

出版社:机械工业出版社

出版日期:2021

ISBN:9787111673170

电子书格式:pdf/epub/txt

内容简介

本书循序渐进、深入讲解了使用Python语言开发Flask Web程序的知识, 并通过具体实例的实现过程演练了使用Flask框架的方法和流程。全书共18章, 内容包括: Flask Web开发基础、使用Flask模板、实现表单操作、Flask数据库操作、用户登录验证等。

作者简介

张学建,2003年毕业于华南理工大学, 研究生学历。2005年加入腾讯广州研发部,负责QQ邮箱的开发工作。2015年加入腾讯云研发部门,云存储和数据挖掘和数据分析工作,目前担任AI数据挖掘部门主管。

本书特色

适读人群 :软件工程师 在校大学生 新入行IT从业者源自IT大厂一线Web开发工程师的实战经验,详细讲解Flask Web开发所需要的关键技术

目录

目录

前言

第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-Debug睺oolbar

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在线识别

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《Flask Web开发入门、进阶与实战》
Article link:https://www.teccses.org/1241359.html