• 投稿

Python FastAPI框架超全完整教程

3663
0
2025-04-14 17:35:00
37
16
177
6
深入学习使用FastAPI进行高级API开发。例如构建REST API、管理路径和查询参数,以及使用SQLModel处理数据库。还将学习如何使用Pydantic管理设置、使用路由器组织你的API,以及实现异步SQLModel连接 将学习用户身份验证和应用程序安全的关键主题,包括基于角色的访问控制、JWT身份验证和密码哈希。还将详细介绍中间件、依赖注入和错误处理的复杂性,包括开发独特的异常和处理程序。解释如何利用Celery和Redis管理后台进程、为用户身份验证添加电子邮件支持,以及使用Flower监控Celery Workers 使用SwaggerUI和ReDoc进行API文档编写的部分,以及全面的测试方法。使用Unittest Mock和Pytest等工具。 源码: https://github.com/jod35/fastapi-beyond-CRUD 贡献文档: https://github.com/jod35jon/fastapi-beyond-crud-docs # 原本一个12小时的视频拆成上下两集,因此下集的时间戳不是直接对应上的 00:00:00 - 简介 00:01:00 - 项目设置 00:07:30 - 构建一个简单的Web服务器 00:10:45 - 使用FastAPI CLI运行服务器 00:14:11 - 路径参数 00:17:23 - 选择HTTP客户端 00:20:58 - 查询参数 00:24:40 - 使用路径和查询参数 00:26:51 - 可选查询参数 00:31:48 - 请求体 00:39:11 - 读取和设置Headers 00:49:43 - 在Python List上构建REST API 01:23:37 - 使用路由器组织API路径 01:38:22 - 使用SQLModel连接数据库 01:42:33 - 设置数据库 01:44:13 - 使用Pydantic settings管理设置 01:53:38 - 异步SQLModel设置 01:58:38 - 通过生命周期事件建立数据库连接 02:10:02 - 使用SQLModel创建数据库模型 02:20:00 - 创建数据库表 02:27:08 - 使用SQLModel进行CRUD操作 02:29:48 - 使用服务类分离CRUD逻辑 02:55:53 - 依赖注入简介 03:01:20 - 在API路径处理程序中使用服务方法 03:33:35 - 创建用户身份验证模型 03:42:09 - 使用Alembic进行数据库迁移 03:59:57 - 用户帐户创建 04:18:55 - 使用passlib进行密码哈希 04:25:42 - 用户帐户创建端点 04:42:57 - JWT身份验证简介 04:48:29 - PyJWT设置 05:01:13 - 用户登录端点 05:13:59 - HTTP Bearer身份验证 05:33:14 - 使用刷新令牌重新获取访问权限 05:50:04 - 使用Redis吊销令牌 06:07:39 - 基于角色的访问控制 06:09:45 - 获取当前已验证的用户 06:20:25 - 将角色添加到用户模型 06:26:55 - 创建角色检查器依赖项 06:39:24 - 处理模型和架构关系 07:05:53 - 更多模型和架构关系 07:59:58 - 错误处理 08:04:06 - 创建自定义API异常 08:18:14 - 为这些异常创建异常处理程序 08:23:26 - 在应用程序上注册错误处理程序 08:33:25 - 中间件简介 08:36:54 - 创建自定义日志记录中间件 08:53:28 - 另一个中间件示例 08:59:36 - 将自定义ASGI中间件与FastAPI一起使用 09:00:21 - 添加CORS中间件 09:03:34 - 添加受信任的主机 09:05:04 - 添加电子邮件支持 09:06:39 - 设置FastAPI-Mail 09:21:46 - 发送您的第一封电子邮件 09:31:21 - 用户帐户验证 10:07:51 - 密码重置 10:40:38 - 后台任务 10:43:00 - FastAPI后台任务 10:45:44 - 使用Celery和Redis的后台任务 11:16:17 - 使用Flower进行Celery监控 11:23:48 - 使用SwaggerUI和Redoc进行API文档编制 11:36:02 - API测试 11:37:10 - 使用Unittest Mock和Pytest进行单元测试 12:01:27 - 使用Schemathesis进行文档驱动测试 12:09:17 - 在Render.com上部署
祝大家学有所成
编程实战
(7/81)
15.3万播放
简介
【rust】超硬核手把手coding使用rust实现TCP协议
【Rust】实现Lox解释器|Jon Gjengset
07:53:42
【rust】超硬核 即兴90分钟rust开源项目维护实战
【C++】入门教程|CoffeeBeforeArch
Python超全入门教程2024
阅读 LLVM 源代码
57:31
Python FastAPI框架超全完整教程
YOWcon软件开发大会(2024)| 架构设计 | 分布式 | AI | 代码 | JAVA | Github | Spring
GPU架构基础
终极React Native课程 - 在 2025 年构建你的第一个移动应用
05:41:14
使用Rust完成分布式系统挑战
03:15:52
C语言实现LLM分词器 | tsoding
02:10:18
Python Streamlit 完全教程
Rust实现BitTorrent客户端
04:09:16
黑帽亚洲大会2024全集 • 中英|Black Hat Asia 2024
非程序员的cursor完整指南(Vibe 编程 101)
02:28:17
NumPy 完整课程 3 小时 - Python 数据分析 - 数据科学(2025年)
02:55:27
Rust 从零开始实现 Git核心功能
04:29:28
使用 Rust 和 C 模拟 6502 CPU
02:20:01
用 C 语言编写自己的 MS-DOS 操作系统
02:33:10
编程实战: 编写一个网络模拟器
通过玩游戏来解释汇编语言 | Jon Gjengset
02:41:11
NDC Security 安全大会 2025 | AI工作流 | 智能体 | 网络安全 | Dapr框架 | 开源工具 | LLM应用 | 自动化安全 | 黑客
编写MS DOS 系统 | windows | 操作系统 | 汇编 | vga | x86
学习CS6120高级编译器课程
多核演化与操作系统
01:00:43
UNIX高级编程
从零编写Linux操作系统 | Build A Linux From Scratch
编写一个交互式C解释器
01:16:05
将guff绘图设备移植到Rust | Jon Gjengset
05:44:40
C,Go,C++基础专项【加州大学】C语言编程基础 | C For Everyone
C,Go,C++基础专项【加州大学】C语言结构化程序设计 | C Structured Programming
C,Go,C++基础专项【加州大学】Go语言编程 | Go Programming Everyone Part 1
C,Go,C++基础专项【加州大学】Go语言编程 | Go Programming Everyone Part 2
C,Go,C++基础专项【加州大学】C++编程 | C Plus Plus A
C,Go,C++基础专项【加州大学】C++编程 | C Plus Plus B
Grpconf 2025
Gophercon Uk 2025
【Cpponsea】C++ On Sea 2025大会
【冰岛大学】高性能计算课程 | 2025 High Performance Computing | Prof Dr Ing Morris Riedel
【苏黎世联邦理工学院】信息检索 | Information Retrieval Eth Zurich 2025
编写Linux GRUB bootloader | Coding a GRUB bootloader for booting Linux | dr
02:10:24
【斯坦福】标准C++编程 | Cs106l Standard C++ Programming, Special Edition
【Jonas Birch】用C语言编写一个TCP服务器库 | Code a TCP Server library in C
02:06:33
C++ DSA课程 | Apna College | Complete C++ Dsa Course
【Nvidia】Cuda并行编程 | Cuda Programming Course | Parallel Computing Using Nvidia
【冰岛大学】云计算与大数据 | 2025 Cloud Computing And Big Data Course
【Jonas Birch】使用C语言从零编写Ping | Ping From Scratch
【Jon Gjengset】Rust编程的Vibe Coding | Vibe coding complex changes in Rust
02:59:08
【Net Ninja】Git入门教程
C语言从零编写机器学习库 | coding a machine learning library in c from scratch
02:26:17
【Anthropic】Claude Code 官方完全教程 | Claude Code in Action
【加州伯克利】并行计算机应用 | CS267 2025 | UC Berkeley | Applications of Parallel Computers
【多伦多大学】C语言计算机编程 | Computer Fundamentals | 2024
Bash基础 | Bash Basics
现代Cuda C++ 编程课程 | Nvidia Developer
8小时C语言编程项目:网络安全 | Cyber Security | dr Jonas Birch
08:00:49
【伊利诺伊大学】应用并行编程2025 | ECE408 CS483 CSE408 Applied Parallel Programming 2025
【斯坦福】Ios应用开发 Cs193p | Ios Development With Swiftui | 2025
从头开始用C语言编写Linux防火墙 | Coding a Linux firewall in C | Jonas Birch
03:03:50
C语言从零编写虚拟机 | Jonas Birch | Coding a Virtual Machine from scratch in C
06:24:43
【麻省理工】编程缺失的主题 | Missing Semester Iap 2026
NVIDIA:并行编程概览 | Your Parallel Programming Guide
57:38
Cppcon2025
Linux启动过程 | How Linux Boots | Joe Collins
56:01
通过LLM在Rust中使用的Avro IDL工具 | Jon Gjengset
04:54:38
在NVIDIA GPU上使用CUDA C编程 | Coding on NVIDIA GPUs with CUDA C
01:19:31
学习Linux文件系统 | Learning The Linux File System 2025 | Joe Collins
01:13:46
【南卡罗来纳大学】Unix/Linux基础知识 | Csce 215 Unix Linux Fundamentals 2023
【麻省理工】扩展计算机视野 | Ai Coding Expanding Horizons In Computing 2026
Linux内核开发学习 | An Average Dev Learns Linux Kernel
【凯泽斯劳滕工业大学】高级算法 解决困难问题的策略
C语言Linux内核模块开发 | Coding a Linux kernel module in C | Jonas Birch
05:33:14
【多伦多大学】计算机系统编程 |Ece454 2024
【西蒙斯研究所】去中心化系统中的信任 | Trust In Decentralized Systems
【Cambridge】RO Crate研究输出与元数据封装实现跨领域可复现 | RO Crate Packaging research outputs wit
36:48
【Black Hat】Sector大会2025
【印度信息技术学院】信息理论,编码,推理 | Information Theory Coding And Inference 2026
【Black Hat】黑帽大会 | Black Hat Usa 2025
【多伦多大学】系统软件 | Systems Software Ece353 2025
西雅图Rust用户组技术分享 | Seattle Rust User Group
客服
顶部
赛事库 课堂 2021拜年纪