【发布时间】:2011-10-30 12:27:12
【问题描述】:
我需要调用具有多个参数的过滤器。
如果一个过滤器只接受一个参数,例如“cut”,我们可以用
来调用它{{ somevariable|cut:"0" }}
但是如果我创建一个带有两个参数的自定义过滤器,我就不能用正确的语法调用它。
对于答案,我只问这个:
- 我不想发送一个参数并在我的自定义过滤器中解析它。
- 我也不想链接过滤器。
我认为使用两个参数调用是合法的,因为有一个名为 urlizentrunc 的默认过滤器。
def urlizetrunc(value, limit, autoescape=None):
【问题讨论】:
-
this question 的可能重复项?
-
@Spycho 我不认为这些是相同的。我跳过了你的网址,但我不知道如何以合法的方式调用 urlizentrunc(不像 Van Gale 的回答那样 hacky)。
-
查看接受的答案。它说,对于自定义过滤器,the docs state that it cannot be done.
-
@Spycho。是的,我明白这一点。但它与自定义过滤器有关。我说“我怎样才能调用具有多个参数的过滤器?”。我提到的过滤器不仅仅是一个自定义过滤器,我用一个名为 urlizentrunk 的默认过滤器来解释它。我怎样才能用两个参数来调用它?我看不到答案。
-
想必因为不是自定义过滤器所以不需要遵守约束自定义过滤器的规则吧?