我有一个自定义的简单标签。似乎我不能使用过滤器作为其参数。
这里是一个示例。 mysum
是标签。 myincrease
是过滤器。 foobar
是变量,我想将foobar|myincrease
传递给mysum
。
模板:
{% mysum foobar|myincrease 1 2 %}
出现错误:
TemplateSyntaxError at /
Caught VariableDoesNotExist while rendering: Failed lookup for key [foobar|myincrease] in ...
标签:
@register.simple_tag
def mysum(a, b, c):
return a + b + c
过滤器:
@register.filter
def myincrease(num):
return num + 1
我已经使用其他方法解决了最初的问题。但是我仍然想知道这是设计如此,还是我的错误、django的一个漏洞或者被忽视的东西。
我认为在simple_tag
装饰器实现中调用类似compile_filter
的函数可以解决问题。