html5 fastapi 在返回模版文件时,将html网页中的input的内容进行预先填写值
时间: 2024-09-17 17:07:36 浏览: 39
FastAPI后端查询数据在前端进行分页展示(html、py文件)
在HTML5和FastAPI应用程序中,当需要返回包含预填充数据的模板文件时,通常的做法是在FastAPI视图函数中处理数据,并将其传递给渲染引擎。FastAPI通常配合如Jinja2这样的模板引擎一起工作。
首先,在FastAPI视图函数中,你可以定义一个字典或其他数据结构来存储你要预填入输入字段的值,例如:
```python
from fastapi import FastAPI, Request
from jinja2 import Template
app = FastAPI()
# 示例数据
data = {
"name": "John Doe",
"email": "john.doe@example.com"
}
@app.get("/template")
async def render_template(request: Request):
template_path = "templates/input.html" # 模板文件路径
template_loader = jinja2.FileSystemLoader(searchpath=".")
env = jinja2.Environment(loader=template_loader)
template = env.get_template(template_path)
rendered_content = template.render(data=data) # 将数据传入模板并渲染
return HTML(rendered_content)
```
在这个例子中,`input.html`模板文件应该有对应的HTML input元素,可以像这样引用预填充的数据:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Input Example</title>
</head>
<body>
<form>
<label for="name">Name:</label>
<input type="text" id="name" name="name" value="{{ data.name }}"><br>
<label for="email">Email:</label>
<input type="email" id="email" name="email" value="{{ data.email }}">
</form>
</body>
</html>
```
当你访问`/template`这个URL时,浏览器会接收到渲染后的HTML内容,input字段会显示预设的值。
阅读全文