我发现自己在mako代码中的所有%def中都要重复相同的过滤器属性:
<%def name="mydef1(a,b)" filter="trim">
# something something something
</%def>
...
<%def name="mydef2(b)" filter="trim">
# something something something
</%def>
有没有一种方法可以为所有的%def指定默认的过滤器,避免在我的代码中重复写"filter =“trim”"?
我注意到有一种选项可以指定表达式过滤器的默认过滤器, 但我找不到类似于%def的东西。
buffer_filters
的选项,它能够为%def
指定默认过滤器。但是它仅适用于使用buffered="True"
定义的%def
。我认为最好的解决方案是在Mako的存储库中提出问题,并要求添加此功能。或者您始终可以猴子补丁DefTag
类以将过滤器添加到每个%def
>.< - Yaroslav Admin