Django - 在 simple_tag 的参数中使用 filter

5

我有一个自定义的简单标签。似乎我不能使用过滤器作为其参数。

这里是一个示例。 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的函数可以解决问题。


你自己找到答案了吗?我也遇到了同样的问题^^ - Maxime R.
抱歉,我现在不太记得了。我想我最终使用了解决方法。 - jsz
1
似乎是一个与Django相关的问题:在1.3.1中可以重现,在1.4.1中可以解决。 - seeg
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接