默認(rèn)下,下面的函數(shù)在全局作用域中可用:
返回一個(gè)包含整等差級(jí)數(shù)的列表。 range(i, j) 返回 [i, i+1, i+2, ...., j-1] ;起始值(!)默認(rèn)為 0 。當(dāng)給定了公差,它決定了增長(zhǎng)(或減?。?例如 range(4) 返回 [0, 1, 2, 3] 。末端的值被丟棄了。這些是一個(gè) 4 元素 數(shù)組的有效索引值。
例如重復(fù)一個(gè)模板塊多次來(lái)填充一個(gè)列表是有用的。想向你有一個(gè) 7 個(gè)用戶的 列表,但你想要渲染三個(gè)空項(xiàng)目來(lái)用 CSS 強(qiáng)制指定高度:
<ul>
{% for user in users %}
<li>{{ user.username }}</li>
{% endfor %}
{% for number in range(10 - users|count) %}
<li class="empty"><span>...</span></li>
{% endfor %}
</ul>
lipsum(n=5,?html=True,?min=20,?max=100)
在模板中生成 lorem ipsum 亂數(shù)假文。默認(rèn)會(huì)生成 5 段 HTML ,每段在 20 到 100 詞之間。如果 HTML 被禁用,會(huì)返回常規(guī)文本。這在測(cè)試布局時(shí)生成簡(jiǎn)單內(nèi)容時(shí)很有 用。
方便的字典字面量替代品。?{'foo'?:?'bar'}?與?dict(foo=bar)?等價(jià)。
周期計(jì)允許你在若干個(gè)值中循環(huán),類(lèi)似?loop.cycle?的工作方式。不同于?loop.cycle?的是,無(wú)論如何你都可以在循環(huán)外或在多重循環(huán)中使用它。
比如如果你想要顯示一個(gè)文件夾和文件列表,且文件夾在上,它們?cè)谕粋€(gè)列表中且 行顏色是交替的。
下面的例子展示了如何使用周期計(jì):
{% set row_class = cycler('odd', 'even') %}
<ul class="browser">
{% for folder in folders %}
<li class="folder {{ row_class.next() }}">{{ folder|e }}</li>
{% endfor %}
{% for filename in files %}
<li class="file {{ row_class.next() }}">{{ filename|e }}</li>
{% endfor %}
</ul>
周期計(jì)有下面的屬性和方法:
重置周期計(jì)到第一個(gè)項(xiàng)。
返回當(dāng)前項(xiàng)并跳轉(zhuǎn)到下一個(gè)。
返回當(dāng)前項(xiàng)。.
New in version 2.1.
一個(gè)小巧的輔助函數(shù)用于“連接”多個(gè)節(jié)。連接器接受一個(gè)字符串,每次被調(diào)用時(shí)返回 那個(gè)字符串,除了第一次調(diào)用時(shí)返回一個(gè)空字符串。你可以使用它來(lái)連接:
{% set pipe = joiner("|") %}
{% if categories %} {{ pipe() }}
Categories: {{ categories|join(", ") }}
{% endif %}
{% if author %} {{ pipe() }}
Author: {{ author() }}
{% endif %}
{% if can_edit %} {{ pipe() }}
<a href="?action=edit">Edit</a>
{% endif %}
New in version 2.1.
更多建議: