微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

迭代器的自定义jinja2过滤器

如何解决迭代器的自定义jinja2过滤器

编写其他过滤器的方法相同。这是一个应该让您入门的示例:

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

在出现问题之前,不必担心效率。在任何情况下,模板引擎都不太可能成为瓶颈。

解决方法

如何最有效地为Jinja2编写一个自定义过滤器,该过滤器适用于像内置“ sort”过滤器这样的可迭代对象,以用于模板的for循环中?

例如:

{% for item in iterable|customsort(somearg) %}
...
{% endfor %}

有关常规文档,请参见http://jinja.pocoo.org/docs/api/#writing-
filters

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。