我创建了一个自定义标签,它接受一个参数:
{% panel "most" %}
我会使用add
参数:
{% panel "most"|add:"_people" %}
我希望参数是“most_people”,但它是“most”|add:“_people”。似乎没有在自定义标签内调用过滤器。如何让它们工作?
我创建了一个自定义标签,它接受一个参数:
{% panel "most" %}
我会使用add
参数:
{% panel "most"|add:"_people" %}
我希望参数是“most_people”,但它是“most”|add:“_people”。似乎没有在自定义标签内调用过滤器。如何让它们工作?
如果您使用simple_tag
装饰器编写自定义标签,您应该能够对参数使用过滤器。
但是,如果您编写了高级模板标签,那么您将需要做额外的工作才能根据需要"most"|add:"_people"
使用过滤器。
一种解决方法是使用{% with %}
标签将过滤器的结果分配给变量。
{% with panel_name="most"|add:"_people" %}
{% panel panel_name %}
{% endwith %}