控制代码块
用{%%}定义的控制代码块,可以实现一些语言层次的功能,例如for循环或者if条件判断。
{# 使用关键字加tab键可以自动补全循环代码:#}
<hr>
{% for num in my_list %}
{% if num < 3 %}
{{ num }}<br>
{% endif %}
{% endfor %}
过滤器
过滤器的本质是一个函数,可以修改变量的显示,或者格式化运算等等,由于不能在模板中调用python方法,所以用到了过滤器。
使用方式:
{{variable 丨filter_name(*args)}}
如果没有任何参数传给过滤器,则可以吧括号省掉
{{variable 丨 filter_name}}
<hr>
{{ "url str"|title }} <br>
字符串操作:
safe:禁用转义
capitalize:首字母大写,其余小写
lower:小写
upper:大写
titile:单词首字母大写
reverse:字符串反转
对列表:
first:取第一个元素
last:最后一个
length:长度
sum:求和
sort:排序
语句块过滤:
{% filter upper %}
一大堆文字
{% endfilter %}
链式调用:
在jinja2中,过滤器支持链式调用,示例如下:
{"hello world 丨reverse 丨upper "}}