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