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

2024-05-17 19:44:13 发布

您现在位置:Python中文网/ 问答频道 /正文

对我来说这很管用:

{{ game.description|safe }}

但这失败了:

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

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


Tags: django模板game过滤器slicedescriptionsafe办法
3条回答

描述是数组还是字符串?

如果是字符串,您可能需要尝试truncatewords(或者truncatewords_html,如果描述可以包含HTML)

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

参考文献:Built-in filter reference, truncatewords

(我是Django的新手,如果slice对string起作用,我会道歉。)

虽然当OP发布这个问题的时候已经过去了,但是对于其他可能需要这些信息的人来说,这对我来说似乎很有效:

你可以重写

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

作为

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

这可能有效:

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

参考文献:Built-in tag reference, filter

相关问题 更多 >