【FastAPI】jinja2模板

  • 本文介绍简单的jinja2语法
  • API
import uvicorn
from fastapi import FastAPI
from fastapi.requests import Request
from fastapi.templating import Jinja2Templates
from fastapi.staticfiles import StaticFiles

app = FastAPI()
# 项目根目录下创建static与templates文件
app.mount("/static", StaticFiles(directory="static"))
templates = Jinja2Templates(directory="templates")

@app.get("/index")
def index(request: Request):
    context = {
        'request': request,
        'name': 'xwl',
        "age": 19,
        "hobby": ["篮球", "足球"],
        "info": {
            "city": "北京",
            "address": "昌平沙河"
        }
    }
    return templates.TemplateResponse('index.html', context)


if __name__ == '__main__':
    uvicorn.run(app, host="127.0.0.1", port=9001)
  • 前端页面
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>{{name}} ({{age}})</h1>
<ul>
    {% for item in hobby%}
    <li>{{item}}</li>
    {% endfor %}
</ul>
<div>
    <ul>
        {% for k,v in info.items()%}
        <li>{{k}}{{v}}</li>
        {% endfor %}
    </ul>
</div>
<img src="/static/demo.png" style="width: 200px;">
</body>
</html>
posted @   Tony_xiao  阅读(59)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示