繁体   English   中英

我可以在自定义Flask jinja2过滤器中组合内置过滤器吗?

[英]Can I combine built-in filters in a custom Flask jinja2 filter?

所以我正在尝试在Flask中制作自定义过滤器,我不确定我是否可以使用带有蓝图的自定义过滤器,所以我只是把它放在我的app配置中,因为我不能在其他文件中使用@app decorator。

def configure_jinja2(app):
    urlize = app.jinja_env.filters['urlize']
    truncate = app.jinja_env.filters['truncate']
    @app.template_filter('myfilter')
    def myfilter(s, trim=False, trunc=255):
        s = urlize(s)
        if trim:
          s = truncate(s, trunc)
        return s

所以我正在尝试组合2个内置的jinja2过滤器,以创建一个新的自定义过滤器,也可以做其他事情。

这给出了一个错误: TypeError:do_urlize()至少需要2个参数(给定1个)

我为eval_context投入了什么?

https://github.com/mitsuhiko/jinja2/blob/master/jinja2/filters.py

jinja2.filters.do_urlize只是围绕一个瘦包装jinja2.utils.urlize不采取eval_context。 对于采用评估上下文的大多数其他内置过滤器来说似乎也是如此。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM