我定义了一些过滤器并且经常使用它们。我需要做一些 A/B 测试,为此在某些情况下一些过滤器应该以不同的方式工作。
最简单的方法是在模板中创建一个存储过滤器名称的变量。像这样的东西:
{% set filter_name = 'some_name' %}
{{ my_value|filter_name }}
但是当我尝试这个时,我收到一个错误:
TemplateAssertionError: no filter named 'filter_name'
请帮助我找到解决方案。
通过做{% set filter_name = 'some_name' %}
,您已经创建了一个名为“filter_name”的字符串变量。您应该创建一个过滤器,它接受另一个参数,并根据该参数决定要做什么。
{% set filter_name = 'some_name' %}
{{ my_value|myfilter(filter_name) }}
def myfilter(value, filtername):
if(filtername is 'twice')
return value*2
else
.....
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)