相关疑难解决方法(0)

加载index.html的最小fastapi示例

在我的项目文件夹中,我有一个基本index.html文件加上静态文件(js、css)以及我的main.py:

from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates
from fastapi import Request

app = FastAPI()

templates = Jinja2Templates(directory="/")
app.mount("/", StaticFiles(directory="/"))

@app.get("/")
def serve_home(request: Request):
    return templates.TemplateResponse("index.html", context= {"request": request}) 
Run Code Online (Sandbox Code Playgroud)

我怎样才能让fastapi在这里工作?我只想index.html在本地主机上提供我的静态文件。没有staticortemplates文件夹有问题吗?

fastapi

35
推荐指数
2
解决办法
3万
查看次数

使用 StaticFiles 时如何在 FastAPI 根路径中加载与 index.html 不同的文件?

这是一个简单的静态 FastAPI 应用程序。通过此设置,即使根路径预计返回 a FileResponse,custom.html应用程序仍会返回index.html。如何让根路径工作并渲染custom.html?

from fastapi import FastAPI
from fastapi.staticfiles import StaticFiles
from fastapi.responses import FileResponse

app = FastAPI()


app.mount(
    "/",
    StaticFiles(directory="static", html=True),
    name="static",
)

@app.get("/")
async def index() -> FileResponse:
    return FileResponse("custom.html", media_type="html")
Run Code Online (Sandbox Code Playgroud)

python static-files starlette fastapi fileresponse

4
推荐指数
1
解决办法
3685
查看次数

标签 统计

fastapi ×2

fileresponse ×1

python ×1

starlette ×1

static-files ×1