资源详情

Python FastAPI Web开发从入门到项目实战(视频版)

Python FastAPI Web开发从入门到项目实战(视频版)-电子书下载


作者: 刘瑜/安义/陈逸怀/喻小菲
出版社: 华中科技大学出版社
出版年: 2022-10-10
页数: 324
定价: 99.00元
装帧: 平装
ISBN: 9787568087223

下载次数:7


本站推荐

书籍资料

  • 内容简介
  • 作者介绍
  • 书籍目录

刘瑜,高级信息系统项目管理师,具有20多年C、ASP、BASIC、FoxBASE、Delphi、Java、C#、Python等编程经验,软件工程硕士、硕士企业导师、大数据重点实验室主任。开发过商业项目20余套,承担省部级千万级别项目5个,发表国内外论文10余篇。出版了《战神——软件项目管理深度实战》《NoSQL数据库入门与实践》《Python编程从零基础到项目实战》《Python编程从数据分析到机器学习实践》《算法之美——Python语言实现(微课视频版)》《Python Django Web从入门到项目实战》。
安义,系统架构师,部门经理,具有20多年软件开发经验,主导过多个行业(医疗、教育、互联网、地产、游戏、汽车、餐饮等)的软件系统开发工作。熟悉多种开发语言和开发框架,具有丰富的软件实战经验。曾是腾讯公司负责袋鼠跳跳应用的研发负责人,目前为“三酷猫”团队的软件技术总监。《Python Django Web从入门到项目实战》第二作者。
陈逸怀,温州城市大学教师教学发展中心主任、高级讲师,天津职业技术师范大学教育学博士研究生(自动化教育方向)、硕士生合作导师,软件设计师、技师,中国计算机学会会员,中国创客教育协会理事,温州市计算机学会理事,国家一类职业技能大赛裁判,青少年机器人大赛国家二级裁判,国家职业鉴定高级考评员。主编、副主编相关教材十本,主持并参与厅局级以上课题十余项,发表相关论文十余篇。
喻小菲,专职软件高级工程师,10余年软件项目开发经验,FastAPI专业技术群群主,承担过物联网、游戏、网络安全等10多个商业项目。主要从事Python Web方向的开发工作,对FastAPI、Sanic、Django、Flask等网络框架均有研究,始终追踪Python开发最前沿的发展方向,具有丰富的Python Web开发经验。

刘瑜,高级信息系统项目管理师,具有20多年C、ASP、BASIC、FoxBASE、Delphi、Java、C#、Python等编程经验,软件工程硕士、硕士企业导师、大数据重点实验室主任。开发过商业项目20余套,承担省部级千万级别项目5个,发表国内外论文10余篇。出版了《战神——软件项目管理深度实战》《NoSQL数据库入门与实践》《Python编程从零基础到项目实战》《Python编程从数据分析到机器学习实践》《算法之美——Python语言实现(微课视频版)》《Python Django Web从入门到项目实战》。
安义,系统架构师,部门经理,具有20多年软件开发经验,主导过多个行业(医疗、教育、互联网、地产、游戏、汽车、餐饮等)的软件系统开发工作。熟悉多种开发语言和开发框架,具有丰富的软件实战经验。曾是腾讯公司负责袋鼠跳跳应用的研发负责人,目前为“三酷猫”团队的软件技术总监。《Python Django Web从入门到项目实战》第二作者。
陈逸怀,温州城市大学教师教学发展中心主任、高级讲师,天津职业技术师范大学教育学博士研究生(自动化教育方向)、硕士生合作导师,软件设计师、技师,中国计算机学会会员,中国创客教育协会理事,温州市计算机学会理事,国家一类职业技能大赛裁判,青少年机器人大赛国家二级裁判,国家职业鉴定高级考评员。主编、副主编相关教材十本,主持并参与厅局级以上课题十余项,发表相关论文十余篇。
喻小菲,专职软件高级工程师,10余年软件项目开发经验,FastAPI专业技术群群主,承担过物联网、游戏、网络安全等10多个商业项目。主要从事Python Web方向的开发工作,对FastAPI、Sanic、Django、Flask等网络框架均有研究,始终追踪Python开发最前沿的发展方向,具有丰富的Python Web开发经验。

第1部分基础篇
第1章认识FastAPI 3
1.1Web基础知识 3
1.1.1Web简介 3
1.1.2超文本传输协议基础 7
1.2初识FastAPI 10
1.2.1FastAPI简介 10
1.2.2安装FastAPI 11
1.2.3验证安装结果 12
1.3Hello三酷猫 13
1.3.1第一个程序,Hello三酷猫 13
1.3.2OpenAPI文档 14
1.3.3Python中的异步语法 15
1.4FastAPI框架构成 16
1.4.1FastAPI框架功能 16
1.4.2Python类型提示 17
1.4.3Pydantic框架 21
1.4.4Starlette框架 24
1.5PyCharm代码编辑工具 25
1.5.1PyCharm简介及安装 25
1.5.2PyCharm常用功能 30
1.6习题及实验 34
第2章认识请求 35
2.1请求原理 3


2.2路径参数 36
2.2.1简单路径参数 37
2.2.2有类型的路径参数 38
2.2.3有类型路径参数的数据验证 38
2.2.4路由访问顺序 39
2.2.5使用枚举类型参数 40
2.3查询参数 42
2.3.1标准查询参数 42
2.3.2可选查询参数 43
2.3.3必选查询参数 44
2.3.4参数类型转换 45
2.3.5同时使用路径参数和查询参数 46
2.3.6案例:三酷猫卖海鲜(一) 47
2.4请求体 48
2.4.1定义请求体的数据模型 49
2.4.2同时使用路径参数、查询参数和请求体 51
2.4.3可选的请求体参数 54
2.4.4同时使用多个请求体 56
2.4.5常规数据类型作为请求体使用 58
2.5表单和文件 59
2.5.1表单数据 59
2.5.2文件上传 60
2.5.3表单和多文件上传 62
2.6案例:三酷猫卖海鲜(二) 62
2.7习题及实验 64
第3章认识响应 66
3.1响应原理 66
3.2响应模型 67
3.2.1认识响应模型 67
3.2.2业务数据模型 71
3.2.3简化数据模型定义 72
3.2.4使用多个响应模型 73
3.3内置响应类 74
3.3.1纯文本响应 75
3.3.2HTML响应 75
3.3.3重定向响应 77
3.3.4JSON响应 78
3.3.5通用响应 79
3.3.6流响应 80
3.3.7文件响应 81
3.4案例:三酷猫卖海鲜(三) 81
3.5习题及实验 83
第4章深入请求和响应 84
4.1在请求中使用类 84
4.1.1查询参数类 84
4.1.2路径参数类 90
4.1.3Cookie参数类 91
4.1.4Header参数类 93
4.1.5Field类 95
4.1.6实现复杂的请求数据模型 97
4.1.7直接使用请求类 101
4.2自定义响应返回数据 102
4.2.1自定义Cookie数据 102
4.2.2自定义Header数据 103
4.2.3默认响应状态码 104
4.2.4自定义响应状态码 105
4.3异常处理 106
4.3.1异常类HttpException 106
4.3.2全局异常处理器 108
4.3.3内置异常处理器 110
4.4中间件技术 112
4.4.1自定义中间件 113
4.4.2调用CORS中间件 113
4.4.3调用UnicornMiddleware中间件 115
4.4.4调用HTTPSRedirectMiddleware中间件 115
4.4.5调用TrustedHostMiddleware中间件 116
4.4.6调用GZipMiddleware中间件 118
4.5案例:三酷猫卖海鲜(四) 118
4.6习题及实验 120
第5章依赖注入 121
5.1依赖注入原理 121
5.2使用函数实现依赖注入 122
5.3使用类实现依赖注入 124
5.4依赖注入的嵌套 125
5.5在装饰器中使用依赖注入 127
5.6依赖项中的yield 129
5.7依赖类的可调用实例 131
5.8案例:三酷猫卖海鲜(五) 133
5.9习题及实验 134
第6章数据库操作 135
6.1SQLAlchemy基本操作 135
6.1.1安装和连接 136
6.1.2定义数据模型 137
6.1.3定义关联关系 139
6.1.4CRUD操作 143
6.1.5直接使用SQL 145
6.2连接MySQL 146
6.2.1安装数据库驱动 146
6.2.2创建项目并连接SQLAlchemy 146
6.2.3创建SQLAlchemy数据库模型 147
6.2.4创建Pydantic数据模型 148
6.2.5实现数据操作 149
6.2.6实现FastAPI请求函数 151
6.3连接MongoDB 154
6.3.1安装MongoDB 155
6.3.2安装数据库驱动 157
6.3.3实现MongoDB中的数据操作 158
6.4连接Redis 160
6.4.1安装Redis 161
6.4.2安装数据库驱动 162
6.4.3实现Redis中的数据操作 163
6.5案例:三酷猫卖海鲜(六) 165
6.6习题及实验 167
第7章安全机制 169
7.1安全机制基本功能 169
7.2添加基于OAuth2的安全机制 171
7.3实现基于OAuth2的安全机制 172
7.3.1创建数据库应用 173
7.3.2增加注册用户功能 175
7.3.3生成令牌 178
7.3.4增加用户登录功能 178
7.3.5获取当前登录用户数据 180
7.4习题及实验 182
第8章异步技术 183
8.1基本概念 183
8.1.1进程/线程 183
8.1.2阻塞/非阻塞 184
8.1.3同步/异步 185
8.1.4并发/并行 185
8.1.5GIL 185
8.2协程 186
8.2.1事件循环加回调 186
8.2.2基于生成器的协程 186
8.2.3使用yieldfrom改进协程 187
8.2.4原生协程 187
8.3Asyncio库介绍 187
8.3.1事件循环 188
8.3.2协程 188
8.3.3Future对象 189
8.3.4Task和可等待对象 189
8.4案例:三酷猫卖海鲜(七) 190
8.5习题及实验 191
第9章企业应用架构 193
9.1应用程序和子应用 193
9.1.1使用环境变量 193
9.1.2应用事件处理 197
9.1.3管理子应用 198
9.1.4管理外部Web应用 200
9.2应用模块管理 201
9.2.1路由类 202
9.2.2应用目录结构 202
9.3页面模板技术 204
9.3.1Jinja2模板入门 204
9.3.2管理静态文件 206
9.4案例:三酷猫卖海鲜(八) 207
9.5习题及实验 210
第10章测试与部署 211
10.1测试工具 211
10.1.1常规测试 211
10.1.2分离测试代码 214
10.1.3应用事件测试 215
10.1.4依赖项测试 216
10.1.5测试数据库 218
10.1.6异步测试工具 219
10.2部署程序 220
10.2.1virtualenv和pip3 221
10.2.2部署到Linux服务器 222
10.2.3部署为后台进程 223
10.2.4使用代理服务 225
10.3案例:三酷猫海鲜项目测试 226
10.4习题及实验 227
第2部分实战篇
第11章核酸采集平台:功能分析与设计 231
11.1需求分析 231
11.2系统设计 232
11.2.1逻辑架构 232
11.2.2技术架构 233
11.2.3数据架构 234
11.3任务分工 235
第12章核酸采集平台:后端项目 236
12.1后端项目环境搭建 236
12.2后端项目目录结构 236
12.3后端项目代码实现 238
12.3.1主文件 238
12.3.2配置文件 239
12.3.3数据库引擎 239
12.3.4登录认证模块 240
12.3.5预约模块 244
12.3.6登记模块 247
12.3.7运行后端项目 250
12.4后端项目部署 253
12.4.1准备服务器环境 254
12.4.2安装数据库环境 254
12.4.3安装Python环境 255
12.4.4上传项目文件 255
12.4.5安装第三方库 255
12.4.6部署为后台进程 256
12.4.7验证部署环境 256
第13章核酸采集平台:前端项目 262
13.1前端开发环境搭建 262
13.2管理端项目目录结构 262
13.3管理端项目代码实现 263
13.4管理端项目运行与发布 270
13.5移动端项目目录结构 272
13.6移动端项目代码实现 273
13.7移动端运行与发布 275
附录A在Win10上安装MySQL数据库 277
附录BVue.js使用介绍 290
附录C附赠代码清单 309
后记 314