fastapi 将一组动态数据 传递给html编写的页面,页面动态接收并显示,不使用页面更新功能
时间: 2024-09-13 16:15:35 浏览: 42
FastAPI后端查询数据在前端进行分页展示(html、py文件)
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API。它基于 Python 类型提示,因此具有强大的编辑器支持。使用 FastAPI,你可以很容易地将动态数据传递给 HTML 页面。
首先,你需要在 FastAPI 应用中定义 API 路由,并在该路由中处理动态数据的获取或生成。然后,你可以使用模板引擎(如 Jinja2)来渲染 HTML 页面,并将数据传递给这个模板。
以下是一个简单的示例:
1. 创建 FastAPI 应用并定义一个路由来获取动态数据。
```python
from fastapi import FastAPI, Request
from fastapi.templating import Jinja2Templates
app = FastAPI()
templates = Jinja2Templates(directory="templates") # 指向你的 HTML 模板文件夹
@app.get("/")
async def read_item(request: Request):
# 这里的动态数据可以是数据库查询结果、API 响应等
dynamic_data = {"title": "动态数据标题", "content": "这里是动态显示的内容"}
return templates.TemplateResponse("page.html", {"request": request, "data": dynamic_data})
```
2. 创建 HTML 模板文件 `page.html`。
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{{ data.title }}</title>
</head>
<body>
<h1>{{ data.title }}</h1>
<p>{{ data.content }}</p>
</body>
</html>
```
在这个例子中,我们定义了一个路由处理函数 `read_item`,它会从某个地方获取动态数据,并将其作为字典传递给模板。模板文件 `page.html` 使用 Jinja2 语法接收这些数据,并将其嵌入到 HTML 中以动态显示。
阅读全文