如何最有效地为 Jinja2 编写一个适用于可迭代(如内置“排序”过滤器)的自定义过滤器,以便在模板中的 for 循环中使用?
例如:
{% for item in iterable|customsort(somearg) %}
...
{% endfor %}
See http://jinja.pocoo.org/docs/api/#writing-filters用于一般文档
与编写任何其他过滤器的方式相同。下面是一个可以帮助您入门的示例:
from jinja2 import Environment, Undefined
def custom_sort(iterable, somearg):
if iterable is None or isinstance(iterable, Undefined):
return iterable
# Do custom sorting of iterable here
return iterable
# ...
env = Environment()
env.filters['customsort'] = custom_sort
不要担心效率,直到它成为问题。无论如何,模板引擎不太可能成为瓶颈。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)