码迷,mamicode.com
首页 > 其他好文 > 详细

flask基础之jinja2模板-流程控制

时间:2018-07-22 15:16:01      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:语句   个数   for   序列   字典   define   efi   end   参数   

和其它编程语言一样,jinja2也有流程控制。

一、测试

  在jinja2,测试(Test)是根据变量或表达式的值生成布尔结果的一种函数工具,测试关键字is

  {{ jinja2  is defined }}

  或

  {{ jinja2  is defined() }}   #需要参数的测试,括号方式传入。

 

  eg:

  number(value),检查对象是否是一个数字

  sequence(value),检查对象是否是序列

  string(value),检查对象是否是字符串

  undefined(value),检查一个对象是否未定义

 

二、判断语句

  if...elif...else...endif

  ......

  {% if A %}

    ...

  {% elif B %}

    ...

  {% else %}

  {% endif %}

 

三、循环语句

  {% for .. in ... %}

  ...

  {% endfor %}

  一些被重复执行的语句被称为循环体,能否继续重复决定了循环的终止条件

  

  注:字典是无序的,所以可能需要把它作为一个已排序的列表传入模板或使用dictsort过滤器

 

  但,jinja模板中不能使用break或continue终止,怎么办?

  可通过loop下的一一些特殊变量控制,如

  loop.index,当前循环迭代多次数(从1开始)

  loop.index(),当前循环迭代的次数(从0开始)

  loop.revindex,到循环结束需要迭代的次数(从1开始)

  loop.revindex(),到循环结束需要迭代的次数(从0开始)

  loop.first,如果是第1次迭代,则为true

  ...

  loop.length ,序列中农的项目数量

  loop.cycle,在一串序列间取值的辅助函数

flask基础之jinja2模板-流程控制

标签:语句   个数   for   序列   字典   define   efi   end   参数   

原文地址:https://www.cnblogs.com/czdbky/p/9349867.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!