欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > 三周精通FastAPI:31 使用 StaticFiles从目录中自动提供静态文件

三周精通FastAPI:31 使用 StaticFiles从目录中自动提供静态文件

2025/11/12 14:58:37 来源:https://blog.csdn.net/skywalk8163/article/details/143467314  浏览:    关键词:三周精通FastAPI:31 使用 StaticFiles从目录中自动提供静态文件

官方文档:静态文件 - FastAPI

静态文件¶

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

使用StaticFiles

  • 导入StaticFiles
  • "挂载"(Mount) 一个 StaticFiles() 实例到一个指定路径。
from fastapi import FastAPI
from fastapi.staticfiles import StaticFilesapp = 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's docs about Static Files.

实践

将源码写入static.py文件

​from fastapi import FastAPI
from fastapi.staticfiles import StaticFilesapp = FastAPI()app.mount("/static", StaticFiles(directory="static"), name="static")

并创建static目录,在目录里写入一个测试文件temp.txt,文件内容:

This is an example text file.

然后浏览网址:

http://127.0.0.1:8000/static/temp.txt

浏览器显示文件内容:

This is an example text file.

测试通过。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词