教程 - 用户指南¶
本教程将一步步向您展示如何使用 FastAPI 的大部分功能。
每一节内容都建立在之前的基础上,但结构设计上相互独立,因此您可以直接跳转到任何特定部分,以满足您的具体 API 需求。
它也可以作为未来的参考手册,方便您随时回来查询所需内容。
运行代码¶
所有的代码块都可以直接复制并使用(它们实际上是经过测试的 Python 文件)。
要运行任何示例,请将代码复制到 main.py 文件中,并运行 fastapi dev。
$ <font color="#4E9A06">fastapi</font> dev
<span style="background-color:#009485"><font color="#D3D7CF"> FastAPI </font></span> Starting development server 🚀
Searching for package file structure from directories
with <font color="#3465A4">__init__.py</font> files
Importing from <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> Importing the FastAPI app object from the module with
the following code:
<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> Using import string: <font color="#3465A4">main:app</font>
<span style="background-color:#007166"><font color="#D3D7CF"> server </font></span> Server started at <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> Documentation at <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> Running in development mode, for production use:
<b>fastapi run</b>
Logs:
<span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span> Will watch for changes in these directories:
<b>[</b><font color="#4E9A06">'/home/user/code/awesomeapp'</font><b>]</b>
<span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span> Uvicorn running on <font color="#729FCF"><u style="text-decoration-style:solid">http://127.0.0.1:8000</u></font> <b>(</b>Press CTRL+C
to quit<b>)</b>
<span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span> Started reloader process <b>[</b><font color="#34E2E2"><b>383138</b></font><b>]</b> using WatchFiles
<span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span> Started server process <b>[</b><font color="#34E2E2"><b>383153</b></font><b>]</b>
<span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span> Waiting for application startup.
<span style="background-color:#007166"><font color="#D3D7CF"> INFO </font></span> Application startup complete.
我们强烈建议您亲自编写或复制这些代码,进行修改并在本地运行。
在编辑器中使用它,才能真正体现 FastAPI 的优势——您会看到只需编写极少量的代码,并能享受到类型检查、自动补全等便利功能。
安装 FastAPI¶
第一步是安装 FastAPI。
请确保创建了一个 虚拟环境,激活它,然后安装 FastAPI。
$ pip install "fastapi[standard]"
---> 100%
注意
当您执行 pip install "fastapi[standard]" 安装时,它会附带一些默认的各种标准依赖项,包括 fastapi-cloud-cli,该工具允许您部署到 FastAPI Cloud。
如果您不需要这些可选的依赖项,则可以改为安装 pip install fastapi。
如果您想安装标准依赖项但不需要 fastapi-cloud-cli,可以执行 pip install "fastapi[standard-no-fastapi-cloud-cli]"。
提示
FastAPI 有一个适用于 VS Code(和 Cursor)的 官方扩展,它提供了丰富的功能,包括路径操作浏览器、路径操作搜索、测试中的 CodeLens 导航(从测试跳转到定义)以及直接从编辑器进行 FastAPI Cloud 部署和日志查看。
高级用户指南¶
此外还有一个高级用户指南,您可以在阅读完本教程 - 用户指南后进行查阅。
高级用户指南是建立在本教程基础之上的,使用了相同的概念,并向您介绍了一些额外的功能。
但请务必先阅读教程 - 用户指南(即您现在正在阅读的内容)。
它的设计初衷是让您仅通过教程 - 用户指南就能构建一个完整的应用程序,然后再根据需要,使用高级用户指南中的一些补充建议来对其进行扩展。