您可以使用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.
FastAPI提供相同starlette.staticfiles的fastapi.staticfiles,就像为你的方便,开发人员。但它实际上直接来自Starlette。
“挂载”意味着在特定路径中添加一个完整的“独立”应用程序,然后负责处理所有子路径。
这不同于使用一个APIRouter作为挂载的应用程序是完全独立的。主应用程序中的 OpenAPI 和文档将不包含来自已安装应用程序等的任何内容。
您可以在高级用户指南中阅读更多相关信息。
第一个"/static"是指这个“子应用程序”将被“安装”到的子路径。因此,任何以 开头的路径"/static"都将由它处理。
该directory="static"指包含你的静态文件的目录名。
这name="static"给了它一个可以被FastAPI内部使用的名称。
所有这些参数都可以与“ static”不同,请根据您自己的应用程序的需要和具体细节进行调整。
有关更多详细信息和选项,请查看Starlette 的关于静态文件的文档。