全局函数清单
默认下,下面的函数在全局作用域中可用:
- range([start], stop[, step])
- 返回一个包含整等差级数的列表。 range(i, j) 返回 [i, i+1, i+2, ….,j-1] ;起始值(!)默认为 0 。当给定了公差,它决定了增长(或减小)。例如 range(4) 返回 [0, 1, 2, 3] 。末端的值被丢弃了。这些是一个 4 元素数组的有效索引值。
例如重复一个模板块多次来填充一个列表是有用的。想向你有一个 7 个用户的列表,但你想要渲染三个空项目来用 CSS 强制指定高度:
<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 乱数假文。默认会生成 5 段 HTML ,每段在 20 到 100词之间。如果 HTML 被禁用,会返回常规文本。这在测试布局时生成简单内容时很有用。
比如如果你想要显示一个文件夹和文件列表,且文件夹在上,它们在同一个列表中且行颜色是交替的。
下面的例子展示了如何使用周期计:
{% 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>
周期计有下面的属性和方法:
New in version 2.1.
{% 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.