跳转至

静态文件

🌐 由 AI 与人类协作翻译

本翻译由人类引导的 AI 生成。🤝

可能存在误解原意或不够自然等问题。🤖

你可以通过帮助我们更好地引导 AI LLM来改进此翻译。

英文版本

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

使用 StaticFiles

  • 导入 StaticFiles
  • 将一个 StaticFiles() 实例“挂载”(Mount)到指定路径。
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 的静态文件文档