我知道可以在Django模板中创建模板过滤器,例如
{{ "abcdef"|makeUppercase }}
可以创建一个在Django中接受两个参数的模板过滤器吗?假设我想创建一个模板过滤器,它找到n到m的对数。我该怎么做?
谢谢。
答案 0 :(得分:4)
这不是模板标签,而是模板过滤器。是的,你可以接受另一个论点:
{{ foo|my_filter:"bar" }}
此过滤器的参数是foo和“bar”的值。请注意,您只能发送两个参数:如果需要更多参数,则必须在逗号分隔的第二个参数内传递它们,并在模板中解析它们。
如果您只需要一个独立的模板标签,您可以使用@simpletag
装饰器编写一个可以根据需要添加任意参数的装饰器。这些由普通标记语法调用:
{% my_tag foo bar baz %}