0

我想创建一个jinja2定义和注册新过滤器的扩展。我怎样才能做到这一点?

4

2 回答 2

1

如果您将 Flask 与 Jinja2 一起使用,您还可以使用装饰器:

@app.template_filter('visible_only')
def visible_only(value):
    return [v for v in value if not getattr(v, "visible", False)]
于 2012-12-23T10:07:31.917 回答
0

这有效:

from jinja2.ext import Extension

def visible_only(value):
    return [v for v in value if not getattr(v, "visible", False)]

class MyExtension(Extension):
    def __init__(self, environment):
        environment.filters["visible_only"] = visible_only
于 2012-12-23T09:49:42.957 回答