如何在Django模板变量上应用多个过滤器?
对我来说,这个方法有效:
{{ game.description|safe }}
但是这个方法不行:
{{ game.description|safe|slice:"65" }}
在Django模板中,有没有办法对一个变量应用两个或更多的过滤器?
4 个回答
3
把
{{ game.description|safe|slice:"65" }}
改成
{{ game.description|safe|slice:":65" }}
你缺少了冒号
11
描述是一个数组还是一个字符串呢?
如果它是一个字符串的话,你可以试试 truncatewords
(如果描述里可能有HTML内容,可以用 truncatewords_html
),
{{ game.description|safe|truncatewords:65 }}
参考资料:内置过滤器参考,truncatewords。
(我刚接触Django,如果切片在字符串上也能用的话,抱歉哦。)
46
虽然提问者发布这个问题的时间已经过去很久,但对于其他可能需要这些信息的人来说,这对我来说似乎很有效:
你可以把
{{ game.description|safe|slice:"65" }}
改写成
{% with description=game.description|safe %}
{{description|slice:"65"}}
{% endwith %}