一、基本语法
变量取值:{{}}
条件控制:{% %}
注 释:{# #}
二、过滤器
title:把值中的每个单词都转成大写
trim:把值的首尾空格去掉
join:拼接多个值为字符串
round:默认对数字四舍五入,也可以用参数控制
capitialize:首字母大写其它都小写
lower:把值转换成小写形式
upper:把值转换成大写形式
三、for循环
例1:
{% for item in [1,2,3] %}
{{item}}
{% endfor %}
例2:迭代字典
{% for key, value in my_dict.iteritems() %}
{{key}}
{{value}}
{% endfor %}
四、变量的常用方法
index:循环迭代计数,从1开始
index():循环迭代计数,从0开始
revindex:循环迭代倒序,从len开始到1
revindex():循环迭代倒序,从len-1开始到0
first:是否为循环的第一个元素
last:是否为循环的最后一个元素
length:循环序列中元素的个数
cycle:在给定序列中轮循
depth:当前循环在递归中的层级,从1开始
depth():当前循环在递归中的层级,从0开始
五、运算符
比较运算符
==、!=、<、>、>=、<=
布尔运算符
and、or、not
六、条件判断
{% if 。。。 %}
{% elif 。。。 %}
{% else 。。。 %}
{% endif %}
七、表格操作
for循环中垂直合并单元格:{% vm %}
for循环中水平合并单元格:{% hm %}
八、扩展
为了管理段落、表行、表列、run必须使用的方法
段落:{%p jinja2_tag %} for paragraphs
表行:{%tr jinja2_tag %} for table rows
表列:{%tc jinja2_tag %} for table columns
run:{%r jinja2_tag %} for runs
注: 不要使用2次{%p、 {%tr、{%tc 、{%r在同一段落中,行、列或run
不要使用这个 {%p if display_paragraph %}Here is my paragraph {%p endif %}
手动剥离模板中的空白,在块(比如一个 for 标签、一段注释或变 量表达式)的开始或结束放置一个减号( - )
{% for item in seq -%}
{{ item }}
{%- endfor %}