如何在Django模板变量上应用多个过滤器?

时间:2011-06-08 15:34:49

标签: python django

对我而言,这有效:

  

{{game.description | safe}}

但这失败了:

{{ game.description|safe|slice:"65" }}

有没有办法在Django模板中对变量应用两个或更多过滤器?

4 个答案:

答案 0 :(得分:28)

尽管OP发布了这个问题已经过去了,但对于其他可能需要这些信息的人来说,这对我来说似乎很有用:

你可以改写

{{ game.description|safe|slice:"65" }}

作为

{% with description=game.description|safe %}
{{description|slice:"65"}}
{% endwith %}

答案 1 :(得分:9)

描述是数组还是字符串?

如果是字符串,您可能需要尝试truncatewords(如果说明可以包含HTML,则为truncatewords_html),

{{ game.description|safe|truncatewords:65 }}

参考: Built-in filter reference, truncatewords

(我是Django的新手,所以我很抱歉,如果切片适用于字符串。)

答案 2 :(得分:0)

这可能有效:

{% filter force_escape|lower %}
    This text will be HTML-escaped, and will appear in all lowercase.
{% endfilter %}

参考: Built-in tag reference, filter

答案 3 :(得分:0)

更改

{{ game.description|safe|slice:"65" }}

{{ game.description|safe|slice:":65" }}

您想念冒号