138. Python语言 的 Flask框架项目前导 之 模板 第三章 :Jinja2 中的控制语句

49 篇文章 0 订阅
22 篇文章 0 订阅

本章主题

  

关键词

  

Jinja2 中的控制语句

  Jinja2 中所有的控制语句都是放在 {% ... %} 中,并且有⼀个语句 {% endxxx %} 来进行结束,Jinja2 中常⽤的控制语句有 if/for...in...

  

if

  Jinja2 中的 if 语句的使用 和 python中的使用方法类似,可以使⽤ ><<=>===!= 来进⾏判断,也可以通过 andornot() 来进⾏逻辑合并操作:

{% if kenny.sick %}
	Kenny is sick.
{% elif kenny.dead %}
	You killed Kenny! You bastard!!!
{% else %}
	Kenny looks okay --- so far
{% endif %} 

  

for…in…

  for 循环可以遍历任何⼀个序列包括 列表字典元组。并且可以进行反向遍历。

  • 普通的遍历:
<ul>
	{% for user in users %}
		<li>{{ user }}</li>
	{% endfor %}
</ul>
  • 遍历字典:
<dl>
	{% for key, value in my_dict.items() %}
		<dt>{{ key }}</dt>
		<dd>{{ value }}</dd>
	{% endfor %}
</dl>
  • 如果序列中没有值的时候,进⼊ else
<ul>
	{% for user in users %}
		<li>{{ user.username }}</li>
	{% else %}
		<li><em>no users found</em></li>
	{% endfor %}
</ul>

  并且 Jinja2 中的 for循环 还包含以下变量,可以⽤来获取当前的遍历状态:

变量描述
loop.index当前迭代的索引(从1开始)
loop.index0当前迭代的索引(从0开始)
loop.first是否是第⼀次迭代,返回True或False
loop.last是否是最后⼀次迭代,返回True或False
loop.length序列的⻓度

  另外,不可以使⽤ continuebreak 表达式来控制循环的执⾏。

  

总结小便条

本篇文章主要讲了以下几点内容:

  

  本章回顾暂时就到这了,如果还有点晕,那就把文章里所有引用的案例代码再敲几遍吧。拜拜~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值