先写一个 html 模板。准备数据, 一般是从数据库读取,也可以是 json 格式,或是 python 字典。总之,是数据内容。使用 jinja2 来渲染模板。
时间: 2024-11-03 16:22:52 浏览: 17
在HTML模板设计中,Jinja2是一个强大的Python模板引擎,常用于Web应用开发中。首先,你需要设置一个基本的HTML模板文件,通常以`.html`结尾,例如:
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>{{ title }}</title>
</head>
<body>
<h1>Welcome, {{ user_name }}!</h1>
<!-- 这里将会被动态数据替换 -->
{% for item in items %}
<p>{{ item.description }}</p>
{% endfor %}
</body>
</html>
```
在这个模板中,`{{ title }}` 和 `{{ user_name }}` 是变量插槽,它们会被实际的数据值所替代。
然后,在Python环境中,你可以使用Jinja2库将数据填充到这个模板中。这里以从字典(可以模拟从数据库或JSON获取)中获取数据为例:
```python
from jinja2 import Template
# 假设我们有如下数据
data = {
'title': '我的网页',
'user_name': '用户',
'items': [
{'description': '第一条信息'},
{'description': '第二条信息'}
]
}
# 加载并渲染模板
template_file = 'template.html'
template = Template(open(template_file, 'r', encoding='utf-8').read())
output = template.render(data)
# 将渲染后的结果写入新的HTML文件或直接返回给前端
with open('rendered_page.html', 'w', encoding='utf-8') as f:
f.write(output)
```
这样,通过Jinja2,你就可以根据需要的数据动态地生成HTML页面了。
阅读全文