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,在一串序列間取值的輔助函數

相關文章
相關標籤/搜索