跳转至

教程 - 用户指南

/// tip "🎯 学习指南"

学习目标:掌握 FastAPI 核心功能和最佳实践 适合人群:有基础 Python 经验的开发者 学习时间:建议按顺序学习,每节 15-30 分钟 实践建议:每个示例都建议动手实践,加深理解

快速导航: - 🚀 快速开始 - 5分钟搭建第一个API - 📝 数据模型 - 请求和响应数据处理 - 🔒 安全认证 - 用户认证与授权 - 🚀 部署指南 - 生产环境部署

///

本教程将逐步向您展示如何使用 FastAPI 的大部分功能。

每个部分都建立在之前内容的基础上,但采用分主题结构,方便您直接跳转到特定部分来解决具体的 API 需求。

本教程也可作为日后的参考资料,供您回查所需内容。

运行代码

所有代码块均可直接复制使用(它们都是经过测试的 Python 文件)。

要运行任何示例,请将代码复制到 main.py 文件中,并通过以下命令启动 fastapi dev

$ <font color="#4E9A06">fastapi</font> dev <u style="text-decoration-style:solid">main.py</u>

  <span style="background-color:#009485"><font color="#D3D7CF"> FastAPI </font></span>  正在启动开发服务器 🚀

             从包含 <font color="#3465A4">__init__.py</font> 文件的目录中
             搜索包文件结构
             从 <font color="#75507B">/home/user/code/</font><font color="#AD7FA8">awesomeapp</font> 导入

   <span style="background-color:#007166"><font color="#D3D7CF"> module </font></span>  🐍 main.py

     <span style="background-color:#007166"><font color="#D3D7CF"> code </font></span>  从模块导入 FastAPI 应用对象,使用以下代码:

             <u style="text-decoration-style:solid">from </u><u style="text-decoration-style:solid"><b>main</b></u><u style="text-decoration-style:solid"> import </u><u style="text-decoration-style:solid"><b>app</b></u>

      <span style="background-color:#007166"><font color="#D3D7CF"> app </font></span>  使用导入字符串:<font color="#3465A4">main:app</font>

   <span style="background-color:#007166"><font color="#D3D7CF"> server </font></span>  服务器已启动:<font color="#729FCF"><u style="text-decoration-style:solid">http://127.0.0.1:8000</u></font>
   <span style="background-color:#007166"><font color="#D3D7CF"> server </font></span>  文档地址:<font color="#729FCF"><u style="text-decoration-style:solid">http://127.0.0.1:8000/docs</u></font>

      <span style="background-color:#007166"><font color="#D3D7CF"> tip </font></span>  当前处于开发模式,生产环境请使用:
             <b>fastapi run</b>

             日志:

     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  将监视以下目录中的更改:
             <b>[</b><font color="#4E9A06">&apos;/home/user/code/awesomeapp&apos;</font><b>]</b>
     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  Uvicorn 运行在 <font color="#729FCF"><u style="text-decoration-style:solid">http://127.0.0.1:8000</u></font> <b>(</b>按 CTRL+C
             退出<b>)</b>
     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  已启动重载器进程 <b>[</b><font color="#34E2E2"><b>383138</b></font><b>]</b>,使用 WatchFiles
     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  已启动服务器进程 <b>[</b><font color="#34E2E2"><b>383153</b></font><b>]</b>
     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  等待应用启动。
     <span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span>  应用启动完成。

强烈建议您编写或复制代码,在本地编辑并运行。

在编辑器中实际使用才能真正体现 FastAPI 的优势,您会亲眼看到需要编写的代码量之少,以及类型检查、自动补全等功能的强大。


安装 FastAPI

第一步是安装 FastAPI。

请确保创建并激活 虚拟环境,然后安装 FastAPI

$ pip install "fastapi[standard]"

---> 100%

Note

使用 pip install "fastapi[standard]" 安装时,会包含一些默认的可选标准依赖项,包括 fastapi-cloud-cli,它允许您部署到 FastAPI Cloud

如果您不需要这些可选依赖项,可以改为安装 pip install fastapi

如果您希望安装标准依赖项但不包含 fastapi-cloud-cli,可以使用 pip install "fastapi[standard-no-fastapi-cloud-cli]" 进行安装。

高级用户指南

此外还有一份高级用户指南,您可以在学完本教程 - 用户指南后阅读。

高级用户指南以此教程为基础,沿用相同概念,并教授一些额外功能。

但您应首先阅读教程 - 用户指南(即当前内容)。

本教程的设计目标是让您仅通过教程 - 用户指南就能构建完整应用,然后根据需求,使用高级用户指南中的一些附加功能进行扩展。