如何使用本地主机上的Fast API加载index.html文件



我尝试过:app.mount("", StaticFiles(directory="index.html", html = True), name="index.html")

以及:

templates = Jinja2Templates(directory="/")
app.mount("/", StaticFiles(directory="/"))
@app.get("/")
def serve_home(request: Request):
return templates.TemplateResponse("index.html", context= {"request": request})

在这两种情况下,我都无法使用以下方法导入静态文件:from fastapi.staticfiles import StaticFiles

似乎from fastapi import FastAPI也无法解决,但在我尝试加载html文件之前,这并没有阻止程序工作

您只需要代码:

# main.py
import uvicorn
from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
app = FastAPI()
# first 'static' specify route path, second 'static' specify html files directory.
app.mount('/static', StaticFiles(directory='static',html=True))
if __name__ == '__main__':
uvicorn.run(app, host='0.0.0.0')

运行main.py后,http://127.0.0.1:8000/static/index.html访问
项目树为:

$ tree app
app
├── main.py
└── static
└── index.html

参考https://fastapi.tiangolo.com/tutorial/static-files/.

希望这是有用的。

最新更新