可以使用StaticFiles从目录中自动提供静态文件。

安装aiofiles

  1. pip install aiofiles

使用静态文件

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

app = FastAPI()

app.mount(“/static”, StaticFiles(directory=”static”), name=”static”) ```

:::info 技术细节
可以使用from starlette.staticfiles import StaticFiles
FASTAPI提供了相同的类库fastapi.staticfiles,仅仅作为一个便利,它来自于Starlette :::

Mounting

mounting意思是在指定的路径添加一个完整的独立的应用,然后负责处理所有的子路径。
这与使用APIRouter不同,因为挂载的应用程序是完全独立的。

主应用程序中的OpenAPI和docs不会包含任何来自挂载应用程序的内容。

您可以在《高级用户指南》中阅读更多信息。

详细内容

/static指的是这个 “子应用 “将被 “挂载 “的子路径。所以,任何以”/static “开头的路径都会被它处理。
directory="static"指的是包含静态文件的目录名称。
name="static"给了一个可以被FastAPI内部使用的名字。

static可以设置成其他字符串,结合自己应用的需求和具体细节进行调整。

更多信息

更多资料请访问 Starlette’s docs about Static Files.