亲爱的朋友,欢迎来到FastAPI的学习园地! 【🧪 Beta公测版本提示:教程主体已完成,正在优化细节,欢迎大家提Issue反馈问题或建议。】
本教程面向有一些python基础的学员,而且是需要在本地电脑上运行的。这个教程既有markdown格式的文档,也有ipynb格式的文档。我们推荐的学习方式是看markdown格式的文档。自己在本地的电脑上新建jupyter notebook,把markdown里的代码片段复制到jupyter notebook的格子中,然后在里面运行代码。实在没有时间,想要快速运行完整个教程的代码的同学,可以直接下载ipynb格式的文档,然后在jupyter notebook中打开,然后运行所有的代码。
本教程的Jupyter notebook文件中的代码片段也可以在py文件中运行,不过需要做一些修改,就是把最后一行里
if __name__ == '__main__':
config = uvicorn.Config(app, host='0.0.0.0', port=8000)
server = uvicorn.Server(config)
await server.serve()改成
if __name__ == '__main__':
uvicorn.run(app, host='0.0.0.0', port=8000)这是因为在jupyter notebook中运行异步函数uvicorn.run()会报错,需要用uvicorn.Server()包装一下,并且在前面加一个await。
另外需要注意的是Uvicorn running on http://0.0.0.0:8000,并不能直接把http://0.0.0.0:8000贴到浏览器的地址栏。0.0.0.0的含义是这个服务向所有ip地址开放,但是你想要访问它,需要用部署这个服务的本地IP,比如http://127.0.0.1:8000。
我们把FastAPI的学习分为六个大章,每个大章下面有若干小节。你可以按照自己的节奏进行学习。全部学完需要大约630分钟。
- 第1章-url参数(共计90分钟)
-
- 第1.1节-01-路径参数(30分钟)
-
- 第1.2节-02-查询参数(30分钟)
-
- 第1.3节-03-路径参数校验(15分钟)
-
- 第1.4节-04-查询参数校验(15分钟)
- 第2章-请求体参数(共计210分钟)
-
- 第2.1节-05-请求体参数(60分钟)
-
- 第2.2节-06-额外参数信息(60分钟)
-
- 第2.3节-07-嵌套模型(60分钟)
-
- 第2.4节-08-Cookie参数(15分钟)
-
- 第2.5节-09-Header参数(15分钟)
- 第3章-响应(共计90分钟)
-
- 第3.1节-10-响应模型(30分钟)
-
- 第3.2节-11-多个模型(45分钟)
-
- 第3.3节-12-响应状态码(15分钟)
- 第4章-表单和文件(共计60分钟)
-
- 第4.1节-13-表单数据(15分钟)
-
- 第4.2节-14-请求文件(30分钟)
-
- 第4.3节-15-请求表单与文件(15分钟)
- 第5章-依赖注入(共计90分钟)
-
- 第5.1节-16-依赖项(30分钟)
-
- 第5.2节-17-类作为依赖项(15分钟)
-
- 第5.3节-18-子依赖项(15分钟)
-
- 第5.4节-19-路径装饰器依赖项(15分钟)
-
- 第5.5节-20-全局依赖项(15分钟)
- 第6章-MCP(共计90分钟)
-
- 第6.1节-21-FastAPI MCP(30分钟)
-
- 第6.2节-22-实现天气查询MCP(60分钟)
如果您在学习中有任何疑问可以通过以下方式解决:
- 搜索引擎查找
- 文心一言、智谱清言、讯飞星火、Kimi等对话引擎询问
- 发消息在学习群里
- 在本Github仓库提issue
- 发邮件给 zishuco@163.com
- 加微信 zishuco