1.在模板中获取view传递的变量值:{{变量名}}
1.1传递字符串
1.2传递int
1.3传递list
<p>
[获取list的值]
<br>
列表第一个值{{ users.0 }}
<br>
列表第二个值{{ users[1] }}
{# 注释 #}
</p>
<ul>
{% for user in users %}
<li> {{ user }} </li>
{% endfor %}
</ul>
1.4传递dict
1.5传递对象
2.控制块
2.1if控制块
{% if 条件 %}
条件为True
{% else %}
条件为False
{% endif %}
2.2 for控制块
{% for 变量 in 可迭代的对象 %}
for循环要做的任务
{% endfor %}
{% for user in users %}
{% if user | length ==3 %}
<li>------------{{ user }}</li>
{% else %}
<li>{{ user }}</li>
{% endif %}
{% endfor %}
2.3 loop变量
loop.index 序号从1开始
loop.index0 序号从0开始
loop.revindex reverse 序号是倒着的
loop.revindex0
loop.first 布尔类型 是否是第一行
loop.last 布尔类型 是否是最后一行
3.过滤器
过滤器的本质就是函数
模板语法中过滤器:{{ 变量名 | 过滤器(*args) }}
常见的过滤器:
1)safe : 禁用转译
msg = '<h1>今天很开心!</h1>'
return render_template('show.html', msg=msg)
不想让其转译:
{{ msg | safe }}
2)capitalize:单词的首字母大写
{{ n1 | capitalize }}
3)lower和upper
大小写的转换
4)title 一句话中每个单词的首字母大写
msg = 'what can i do for you'
{{ msg | title}}
5)reverse 翻转
{{ n1 | reverse}}
6)format
{{ '%s is %d years old' | format(COCO',18) }}
7) truncate 字符串截断
List的操作
{{ users| first }}
{{ users| last }}
{{ users| length }}
{{ [1,3,5,7,9] | sum }}
{{ [1,8,5,7,3] | sort }}
Dict的操作:
{% for v in users.0.values() %} ---->获取值
<p>{{ v }}</p>
{% endfor %}
<hr>
{% for k in users.0.keys() %} ----》获取键
<p>{{ k }}</p>
{% endfor %}
<hr>
{% for k,v in users.0.items() %} ---》获取键值
<p>{{ k }}---{{ v }}</p>
{% endfor %}