我创建了一个自定义标记,它接受一个参数:
{% panel "most" %}
我会将add
用于参数:
{% panel "most"|add:"_people" %}
我希望参数将是" most_people",而是#34;大多数" |添加:" _people"。似乎不在自定义标记内调用过滤器。如何使它们工作?
答案 0 :(得分:1)
如果您使用simple_tag
装饰器来编写自定义标记,则应该能够对参数使用过滤器。
但是,如果你写了advanced template tag,那么你需要做额外的工作,让"most"|add:"_people"
根据需要使用过滤器。
一种解决方法是使用{% with %}
标记将过滤器的结果分配给变量。
{% with panel_name="most"|add:"_people" %}
{% panel panel_name %}
{% endwith %}