1

我创建了一个自定义标签,它接受一个参数:

{% panel "most" %}

我会使用add参数:

{% panel "most"|add:"_people" %}

我希望参数是“most_people”,但它是“most”|add:“_people”。似乎没有在自定义标签内调用过滤器。如何让它们工作?

4

1 回答 1

2

如果您使用simple_tag装饰器编写自定义标签,您应该能够对参数使用过滤器。

但是,如果您编写了高级模板标签,那么您将需要做额外的工作才能根据需要"most"|add:"_people"使用过滤器。

一种解决方法是使用{% with %}标签将过滤器的结果分配给变量。

{% with panel_name="most"|add:"_people" %}
{% panel panel_name %}
{% endwith %}
于 2015-07-01T10:13:59.463 回答