如何用两个参数创建一个Django模板标签?
问题描述:
我知道,一个可以在Django模板,如如何用两个参数创建一个Django模板标签?
{{ "abcdef"|makeUppercase }}
创建模板过滤器可以创建接受Django的两个参数模板过滤器?假设我想创建一个模板过滤器,它发现n的对数为m。我怎么做?
谢谢。
答
这不是模板标签,而是模板过滤器。是的,你可以接受一个额外的参数:
{{ foo|my_filter:"bar" }}
这个过滤器的参数是foo和“bar”的值。请注意,您只能发送两个参数:如果您需要更多,则必须将它们传递到以逗号分隔的第二个参数中,并在模板中解析它们。
如果你只需要一个独立的模板标签,你可以使用@simpletag
修饰器来编写一个可以根据你的喜好使用多个参数的模板标签。这些由正常标记句法调用:
{% my_tag foo bar baz %}