Python 如何创建注册过滤器的jinja2扩展
我想创建一个定义并注册新过滤器的Python 如何创建注册过滤器的jinja2扩展,python,jinja2,Python,Jinja2,我想创建一个定义并注册新过滤器的jinja2扩展。我如何才能做到这一点?这项功能: 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): environ
jinja2
扩展。我如何才能做到这一点?这项功能:
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
如果您将烧瓶与Jinja2一起使用,还可以使用装饰器:
@app.template_filter('visible_only')
def visible_only(value):
return [v for v in value if not getattr(v, "visible", False)]