【问题标题】:How to return a HTMLResponse with FastAPI如何使用 FastAPI 返回 HTMLResponse
【发布时间】:2021-03-25 12:58:08
【问题描述】:

是否可以在端点显示 HTML 文件?

例如主页然后用户正在访问"/"

【问题讨论】:

    标签: python web fastapi


    【解决方案1】:

    是的,FastAPI 可能有HTMLResponse

    您可以返回HTMLResponse

    from fastapi import FastAPI
    from fastapi.responses import HTMLResponse
    
    app = FastAPI()
    
    @app.get("/", response_class=HTMLResponse)
    async def read_items():
        html_content = """
        <html>
            <head>
                <title>Some HTML in here</title>
            </head>
            <body>
                <h1>Look ma! HTML!</h1>
            </body>
        </html>
        """
        return HTMLResponse(content=html_content, status_code=200)
    

    你也可以使用Jinja2渲染模板

    from fastapi import FastAPI, Request
    from fastapi.responses import HTMLResponse
    from fastapi.staticfiles import StaticFiles
    from fastapi.templating import Jinja2Templates
    
    app = FastAPI()
    
    app.mount("/static", StaticFiles(directory="static"), name="static")
    
    
    templates = Jinja2Templates(directory="templates")
    
    
    @app.get("/items/{id}", response_class=HTMLResponse)
    async def read_item(request: Request, id: str):
        return templates.TemplateResponse("item.html", {"request": request, "id": id}
    

    【讨论】:

      猜你喜欢
      • 2020-06-04
      • 2022-12-17
      • 2022-10-20
      • 2019-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-31
      相关资源
      最近更新 更多