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

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

1、测试编程语言

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

  {{ jinja2  is defined }}工具

  或oop

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

 

  eg:对象

  number(value),检查对象是不是一个数字排序

  sequence(value),检查对象是不是序列字符串

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

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

 

2、判断语句

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

  ......

  {% if A %}

    ...

  {% elif B %}

    ...

  {% else %}

  {% endif %}

 

3、循环语句

  {% 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,在一串序列间取值的辅助函数

相关文章
相关标签/搜索