先创建一个简单的 jinja_demo.py
:
from jinja2 import Environment, FileSystemLoader
import os.path
# __file__ 就是本文件的名字
# 得到放置模板的目录
path = '{}/templates/'.format(os.path.dirname(__file__))
# 创建一个加载器, jinja2 会从这个目录中加载模板
loader = FileSystemLoader(path)
# 用加载器创建一个环境, 有了它才能读取模板文件
env = Environment(loader=loader)
# 调用 get_template() 方法加载模板并返回
template = env.get_template('demo.html')
# 用 render() 方法渲染模板
# 可以传递参数
ns = list(range(3))
us = [
{
'id': 1,
'name': 'gua',
},
{
'id': 2,
'name': '瓜',
},
]
print(template.render(name='gua', numbers=ns, users=us))
编写 demo.html
:
jinja demo
{{ name }}
{% for n in numbers %}
{{ n }}
{% endfor %}
{% for u in users %}
{{ u.name }}
{{ u.id }}
{% endfor %}
渲染成以下的 HTML 代码:
jinja demo
gua
0
1
2
gua
1
瓜
2
所以操作都和 Django 的模板引擎非常类似。