如何在使用 StaticFiles 时在 FastAPI 根路径中提供特定 HTML 文件
当使用 FastAPI 与 StaticFiles 一起提供静态文件时,您可能会遇到您想要在根路径中加载不同的 HTML 文件(例如,custom.html)而不是默认的 index.html 的情况。这可以通过了解 FastAPI 路由和 StaticFiles 功能的某些方面来实现。
了解 StaticFiles
根据 Starlette 的文档,StaticFiles 是一个中间件,用于处理来自以下位置的静态文件服务:指定的目录。当设置 html=True 时,它会自动在目录中查找 index.html 文件并相应地提供它们。
安装顺序
安装 StaticFiles 并定义您的静态文件的顺序端点起着至关重要的作用。如果 StaticFiles 挂载到根路径(即 /)并在任何端点之前定义,则它将优先处理所有请求,即使稍后定义自定义端点也是如此。
自定义根路径
要在根路径中提供特定的 HTML 文件,您需要遵循以下操作步骤:
将 StaticFiles 挂载到单独的路径(例如 /static):
app.mount('/static', StaticFiles(directory='static'))
创建返回所需 HTML 的自定义端点文件:
@app.get('/') async def index(): return FileResponse('custom.html')
其他注意事项
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3