静态文件¶
你可以使用StaticFiles 从目录中自动提供静态文件。
使用StaticFiles¶
- 导入
StaticFiles。 - 将一个
StaticFiles()实例“挂载”(Mount)到指定路径。
fromfastapiimportFastAPIfromfastapi.staticfilesimportStaticFilesapp=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 的静态文件文档。







