JiaJa2做为Flask框架中的模板系统被普遍使用,能够快速生成HTML文件;javascript
JinJa2也能够单独使用经过模板快速生成本身想要的文件;html
from jinja2 import loaders, FileSystemLoader, Environment # 指定模板文件搜索的开始位置 TemplateLoader = FileSystemLoader(searchpath="./", encoding='utf-8') TemplateEnv = Environment(loader=TemplateLoader) # 这里的文件位置是以searchpath做为基准的,而不是当前文件夹. template = TemplateEnv.get_template("./test.html") html = template.render({"config": config})
须要注意的是:
若是传到模板文件的变量config是一个列表(字典)等容器类型;
当config做为总体被使用时,渲染以后不会进行decode,形成的结果就是中文显示不出来,解决办法是在模板文件中将config中的元素一一取出;java
{% for i in config %} i { endfor }
{{config}} //直接渲染列表总体将形成里面的中文没法正常显示
{{变量}}
{% for i in 变量名 %} {% if loop.index<10 %} i {% endif %} {% endfor %}
写法 | 含义 |
---|---|
loop.index | 当前迭代的索引(从1开始) |
loop.index0 | 当前迭代的索引(从0开始) |
loop.first | 是不是第一次迭代,返回True/False |
loop.last | 是不是最后一次迭代,返回True/False |
loop.length | 序列的长度 |