我正在尝试提供 package_docs 目录中的静态文件。当我在浏览器中打开时:
http://127.0.0.1:8001/packages/docs/index.html ,页面正在运行。
但是我想打开页面:http: //127.0.0.1 :8001/packages/docs/
没有源文件。输出是 404 Not Found
app.mount("/packages/docs",
StaticFiles(directory=pkg_resources.resource_filename(__name__, 'package_docs')
),
name="package_docs")
@app.get("/packages/docs/.*", include_in_schema=False)
def root():
return HTMLResponse(pkg_resources.resource_string(__name__, "package_docs/index.html"))
app.include_router(static.router)
app.include_router(jamcam.router, prefix="/api/v1/cams", tags=["jamcam"])
如何更改我的代码?任何建议都会有所帮助。先感谢您。
原文由 Christy Nakou 发布,翻译遵循 CC BY-SA 4.0 许可协议
Starlette 中有一个 html 选项,可以在 FastAPI 中使用。 明星文档
这会让你有这样的东西:
这会将 /site 解析为 /site/index.html,将 /site/foo/ 解析为 /site/foo/index.html 等。
如果您想以不使用“directory = /foo”处理的方式更改文件夹名称,其他答案可以帮助您重定向,但如果您只想加载关联的 .html 文件,这是最简单的选择。