jinja2 python
时间: 2024-12-26 21:21:20 浏览: 5
### 使用Jinja2模板引擎
Jinja2 是一种用于 Python 的现代设计、快速且表达力强的模板引擎。它允许开发者通过简单的语法将动态数据嵌入到静态模板文件中,从而生成最终的 HTML 页面或其他类型的文档。
#### 安装Jinja2
为了使用 Jinja2,在项目环境中安装该库是必要的:
```bash
pip install jinja2
```
#### 基础用法示例
下面是一个简单例子展示如何加载模板并渲染带有变量的数据[^1]:
```python
from jinja2 import Template
template_str = """
<html>
<body>
<h1>Hello {{ name }}!</h1>
<p>Today is {{ date }}</p>
</body>
</html>
"""
# 创建Template对象
tmpl = Template(template_str)
# 渲染模板
rendered_html = tmpl.render(name="World", date="2023-10-05")
print(rendered_html)
```
这段代码定义了一个包含两个占位符 `{{ name }}` 和 `{{ date }}` 的字符串作为HTML模板。接着创建了 `Template` 对象,并调用了其方法 `.render()` 来替换这些占位符的实际值,最后打印出完整的HTML页面。
#### 控制结构和支持功能
除了基本的变量插值外,Jinja2 还提供了丰富的控制语句来处理更复杂的逻辑需求,比如条件判断和循环迭代等:
```jinja
{% if user.is_authenticated %}
Welcome back, {{ user.name }}.
{% else %}
Please log in or sign up.
{% endif %}
<ul>
{% for item in items %}
<li>{{ loop.index }}: {{ item.title }}</li>
{% endfor %}
</ul>
```
上述片段展示了如何利用 `{% ... %}` 标签实现分支选择以及列表遍历的功能。
阅读全文