跳转至

静态文件

使用 StaticFiles 可以指定文件夹自动提供静态文件服务。

安装 aiofiles

首先,安装 aiofiles

$ pip install aiofiles

---> 100%

使用 StaticFiles

  • 导入 StaticFiles
  • 在指定路径中挂载 StaticFiles()
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles

app = FastAPI()

app.mount("/static", StaticFiles(directory="static"), name="static")

技术细节

您也可以直接使用 from starlette.staticfiles import StaticFiles

FastAPIfastapi.staticfilesstarlette.staticfiles 相同,只是为了方便开发者调用。但实际上,fastapi.staticfiles 直接继承自 Starlette。

什么是挂载

挂载是指在路径中添加完全独立的应用,然后用它处理所有子路径。

APIRouter 不同,挂载的应用是完全独立的。主应用的 OpenAPI 与 API 文档不包含挂载应用中的内容。

高级用户指南中会介绍更多相关内容。

细节

第一个/static是要挂载子应用的路径。因此,挂载子应用会处理所有以 /static 开头的路径。

directory="static" 是静态文件所在的文件夹。

name="static" 用于指定 FastAPI 内部使用的名称。

这些参数都不必命名为 static,可以按需更改。

更多说明

更多细节与选项,详见 Starlette 文档: 静态文件