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