Jinja2控制语句

所有的控制语句都是放在{% ... %}中,并且有一个语句{% endxxx %}来进行结束,Jinja中常用的控制语句有if/for..in..,现对他们进行讲解:

1、if:

if语句和python中的类似,可以使用>,<,<=,>=,==,!=来进行判断,也可以通过and,or,not,()来进行逻辑合并操作,以下看例子:

{% if kenny.sick %}

  Kenny is sick.

{% elif kenny.dead %}

You killed Kenny!  You bastard!!!

{% else %}

Kenny looks okay --- so far

{% endif %}


2、for...in...:

for循环可以遍历任何一个序列包括列表、字典、元组。并且可以进行反向遍历,以下将用几个例子进行解释:

普通的遍历:

遍历字典:



如果序列中没有值的时候,进入else:



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

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

另外,不可以使用continue和break表达式来控制循环的执行。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 介绍 Jinja是基于python的模板引擎,功能比较类似于于PHP的smarty,J2ee的Freemarker...
    ZhouLang阅读 12,504评论 0 2
  • 模板: 在之前的章节中,视图函数只是直接返回文本,而在实际生产环境中其实很少这样用,因为实际的页面大多是带有样式和...
    帅气的Lucky阅读 5,860评论 0 1
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,759评论 0 38
  • 标记,从耳翼到眉骨的距离 迎上不息的河流 洞察,即将孕育的恐惧 是目光,燃起了一堆熊熊焰火 熄灭在瓢泼大雨里 余温...
    素挲阅读 1,337评论 0 3
  • R: I: 今天的信息量比较大,主要简述了一个认知客观错误,意志力与道德的关系。“道德许可效应”“进步道德化”...
    北极莜澜阅读 1,693评论 0 1

友情链接更多精彩内容