用FastAPI等工具快速构建现代网络的REST API—涵盖SQLModel、OAuth2、Pytest、React和Docker。

您将会学到

  • 构建一个完整的配送管理系统 RESTful API,并遵循最佳实践
  • 使用 Pydantic 模型验证请求和响应数据,保证类型安全
  • 将 FastAPI 应用程序与 SQL 数据库(如 SQLite、PostgreSQL)连接,并通过依赖注入功能与端点进行集成
  • 使用 SQLModel 操作 SQL 数据库,定义一对多及多对多的 SQL 关系
  • 使用 alembic 进行数据库模式变更管理,包括升级、降级以及自动生成修订版本
  • 在 FastAPI 应用中实现基于 OAuth2 的安全认证,涵盖邮箱验证、登录/登出及密码重置功能
  • 从 FastAPI 应用程序在货运事件触发时发送电子邮件和短信通知
  • 将 Celery 与 FastAPI 应用集成,通过 API 端点将耗时任务卸载到后台工作进程
  • 使用 Docker 和 Docker Compose 打包 FastAPI 应用程序及其相关服务
  • 部署 FastAPI 应用及配套服务

课程要求

  • Python 语言基础
  • HTML/JS 基础(可选)

课程描述

利用 Python 和 FastAPI 挖掘 API 的强大潜力!准备将您的 Python 技能转化为构建极速、生产就绪的 API 吗?这门实践课程将指导您如何使用 FastAPI 和 Python 打造高性能 API。

超越理论,为实际配送管理系统构建完整后端 API。你将掌握请求/响应周期、数据建模、数据库、异步编程和依赖注入等关键后端概念,同时充分利用 FastAPI 的强大功能:异步处理速度、自动数据验证、OpenAPI 支持和高效的开发者生产力。

Python 语言基础

虽然需要具备基本的 Python 知识,但核心语言概念,如类型提示、装饰器函数、上下文管理器、异步编程等,仍会进行讲解。

SQL 数据库实战

我们将涵盖数据库和 SQL 的基础知识。特别是对于初学者,我们会先了解为什么需要结构化数据库,什么是 SQL,如何定义表以及如何编写 SQL 查询。

然后我们将手动将 SQLite 数据库集成到 FastAPI 应用程序中,并借助 SQLModel 等现代工具定义数据库表架构,同时利用 FastAPI 强大的依赖注入功能为 API 端点提供数据库会话。

在掌握基础知识之后,我们将深入探讨高级概念,例如异步数据库操作(使用 PostgreSQL)、通过 alembic 迁移管理模式变更、定义一对多和多对多的 SQL 关系,以及模型之间的链接。

用户认证与安全

FastAPI 内置支持 OAuth2 方案。通过 OAuth2 密码流程实现安全用户认证,处理用户注册、已注册用户邮箱验证、登录、使用 JWT 控制端点访问权限,支持密码重置和用户登出。

邮件和短信提醒功能

在我们的配送管理系统中,我们会向收件人发送电子邮件和短信来通知货物更新。例如,在订单确认时通过电子邮件发送包含跟踪链接的信息,更新货物状态,并通过短信发送验证码或 OTP 以接收货物。

API 自动化测试

学习 pytest 测试框架的基础。编写和运行简单的测试,并利用固定装置管理测试状态。接着,使用 FastAPI 自带的测试客户端编写 API 端点的测试。

我们将涵盖测试 API 时所需的必要概念,例如如何设置测试数据库、覆盖依赖项、在测试函数中实现身份验证,以及如何使用 schemathesis 自动进行测试。

前端界面开发(React)

作为附加福利,我们还将教授使用 React JS 进行前端网页开发。涵盖基础知识,例如组件、状态管理、钩子、上下文提供和路由。采用现代且不易过时的工具,如 Vite、Axios、React Router、Shadcn UI 和 Tanstack React Query。

Docker 容器化部署

学习行业标准的工具来打包应用程序。我们将介绍 Docker 的基础知识和容器化的基本概念,并使用 Docker Compose 无缝地运行我们的 API 服务器、PostgreSQL 数据库、Redis 和 Celery 后台工作进程。

如果你是一名 Python 开发者,希望创建快速、可靠且现代的 Web API,并渴望自己理解和构建后端,那么这门课程正是你的完美起点。和我们一起,从第一课开始今天的学习吧!

适合人群

初级 Python 开发者

声明:本站所有资源、素材等全部来源于互联网,赞助VIP仅用于对IT资源服务器带宽等费用支出做支持,从本站下载资源,说明你已同意本条款。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。