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

Tom*_*mmy 29 python django

对我来说,这有效:

{{game.description | safe}}

但这失败了:

{{ game.description|safe|slice:"65" }}
Run Code Online (Sandbox Code Playgroud)

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

小智 30

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

你可以重写

{{ game.description|safe|slice:"65" }}
Run Code Online (Sandbox Code Playgroud)

{% with description=game.description|safe %}
{{description|slice:"65"}}
{% endwith %}
Run Code Online (Sandbox Code Playgroud)


myn*_*fey 9

描述是数组还是字符串?

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

{{ game.description|safe|truncatewords:65 }}
Run Code Online (Sandbox Code Playgroud)

参考:内置过滤器参考,截断词.

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


小智 0

这可能有效:

{% filter force_escape|lower %}
    This text will be HTML-escaped, and will appear in all lowercase.
{% endfilter %}
Run Code Online (Sandbox Code Playgroud)

参考:内置标签参考、过滤器