Python django-在简单_标记的参数中使用过滤器

Python django-在简单_标记的参数中使用过滤器,python,django,Python,Django,我有一个自定义的简单标签。似乎我不能用过滤器作为它的参数 这里有一个例子mysum是标记我的增加是过滤器foobar是一个变量,我想将foobar | myincrease传递给mysum 模板: {% mysum foobar|myincrease 1 2 %} 给出了错误: TemplateSyntaxError at / Caught VariableDoesNotExist while rendering: Failed lookup for key [foobar|myincrea

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

这里有一个例子
mysum
是标记<代码>我的增加是过滤器
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的bug,或者是被忽略的东西


我认为在
simple\u标记
decorator实现中调用类似于
compile\u filter
的东西就可以了。

虽然票证中似乎没有提到它,但它看起来像是修复了对标记位置参数的附加过滤器支持。您可以在位置参数上的新的
parse_bits
函数
compile_filter()
处看到提交


另一个解决方法是使用
{%with%}
标记。

您自己找到答案了吗?我也面临同样的问题^^^对不起,我现在不太记得了。我想我最终使用了变通方法。这似乎是django特有的问题:在1.3.1中可复制,在1.4.1中有效。