控制语句
flaskh中的控制语句都是放在{% … %}中,并且以{% end… %}结尾,常用的控制语句有 if 和 for。
if
flask中if条件控制语句的基本格式如下:
{% if username == 'Sleet'%}
<p>该用户名是:Sleet</p>
{% elif username == 'Snow' %}
<p>该用户名是:Snow</p>
{% else %}
<p>该用户名不对</p>
{% endif %}
可以使用(<,>,<=,>=,==,!=)进行判断,也可以用and, or, not 进行逻辑合并
for
flask中for循环语句的基本格式如下:
{% for hobby,description in hobbies.items()%}
<p>我的爱好是:{{ hobby }}</p>
<p>玩的怎么样:{{ description }}</p>
<!-- 注意这里的for循环不能用break和continue跳出 -->
<hr>
{% else %} <!-- 如果序列为空值,则执行else的代码 -->
{% endfor %}
注意:
- else语句是当循环的序列是空值才执行
- 不能用break和continue终止或跳出循环
jinja中的for循环还包含一下变量,来获取当前遍历状态
- loop.index:获取索引值(从1开始)
- loop.index0:获取索引值(从0开始)
- loop.first:判断是否为第一次循环
- loop.last:判断是否为最后一次循环
- loop.length:获取序列长度
{#<p>{{ loop.index }}</p>#} <!-- 返回索引值(从1开始) -->
{#<p>{{ loop.index0 }}</p>#} <!-- 返回索引值(从0开始) -->
{#<p>{{ loop.first }}</p>#} <!-- 判断是否为第一次循环 -->
{#<p>{{ loop.last }}</p>#} <!-- 判断是否为最后一次循环 -->
{#<p>{{ loop.length }}</p>#} <!-- 返回序列的长度 -->