一、简介
Jinja 是由 Flask 创始人 Armin Ronacher 开发的一个 Python 模板引擎。它以速度快、易用而著称,尤其适合 Web 开发。Jinja2 是 Jinja 的更新版,具有更强大的功能和更高的灵活性。
二、安装jinja2
pip install jinja2
三、创建demo文件目录
tpl 是 (template) 的缩写,可以用来作为模板,渲染动态的内容。
我们创建一个演示用的文件目录jinja-demo,结构如下
jinja-demo
│ demo.py
│ demo2.html
│
└─templates
demo.html-tpl
四、jinja的循环和变量
- jinja中变量渲染的语法
{{ name }}
- jinja中的循环语句
{% for file in filenames %}
<li>{{ file }}</li>
{% endfor %}</li>
五、最简单的demo
- demo.py 如下
from jinja2 import PackageLoader, Environment
env = Environment(loader=PackageLoader('jinja-demo')) # 创建一个包加载器对象
template = env.get_template('demo.html-tpl') # 获取一个模板文件
tem = template.render(name='大人物', filenames=['A', 'B', 'C']) # 渲染
with open('demo2.html', 'w', encoding='utf8') as f:
f.write(tem)
- demo.html-tpl 如下
<!DOCTYPE html>
<html lang="en">
<head>
<title>我是 Jinja</title>
</head>
<body>
<h1>{{ name }}</h1>
<ul>
{% for file in filenames %}
<li>{{ file }}</li>
{% endfor %}</li>
</ul>
</body>
</html>
让我们运行 python demo.py
直接打开demo2.html
,你会看到如下效果