全局函数 (Global Functions)

以下为一些内置的全局函数

range([start], stop, [step])

如果你需要遍历固定范围的数字可以使用 rangestart (默认为 0) 为起始数字,stop 为结束数字,step 为间隔 (默认为 1)。

  1. {% for i in range(0, 5) -%}
  2. {{ i }},
  3. {%- endfor %}

上面输出 0,1,2,3,4.

cycler(item1, item2, …itemN)

cycler 可以循环调用你指定的一系列的值。

  1. {% set cls = cycler("odd", "even") %}
  2. {% for row in rows %}
  3. <div class="{{ cls.next() }}">{{ row.name }}</div>
  4. {% endfor %}

上面的例子中奇数行的 class 为 "odd",偶数行的 class 为 "even"。你可以使用current属性来获取当前项(在上面的例子中对应cls.current)。

joiner([separator])

当合并多项的时候,希望在他们之间又分隔符 (像逗号),但又不希望第一项也输出。joiner 将输出分割符 (默认为 ",") 除了第一次调用。

  1. {% set comma = joiner() %}
  2. {% for tag in tags -%}
  3. {{ comma() }} {{ tag }}
  4. {%- endfor %}

如果 tags["food", "beer", "dessert"], 上面将输出 food, beer, dessert