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

Posted czdbky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask基础之jinja2模板-流程控制相关的知识,希望对你有一定的参考价值。

和其它编程语言一样,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模板-流程控制的主要内容,如果未能解决你的问题,请参考以下文章

Flask模版语言Jinja2 򀍊

Flask模版语言Jinja2 򊂵

Flask模版语言Jinja2 𖸦

flask基础之jinja2模板-语法定义

Flask模版语言Jinja2 -- 2019-08-07 10:37:14

flask基础(下篇)