0
django在使用截断词过滤器截断后,是否有方法将变量中的尾随空格去掉? 也就是说我这样做:删除截断词过滤器之后的空格内容
{{post.body|safe|truncatewords:65}}
,并最终得到的东西是这样的:
富富富富富富富富...
但是我宁愿没有尾随空间。它应该是这样的:
富富富富富富富富...
有一个内置的方式做到这一点 - 我无法找到一个 - 或者我只是需要做一个定制过滤器?
编辑:
为了记录在案,如果其他人是否有这个问题,你需要编写一个自定义截断功能。当我开始讨论这个时,我意识到django可能会将“......”作为数组中的最终索引并将其与空白区域结合起来。无需编写自定义过滤器,您将永远无法摆脱这一切!
这是我实现截断的,不把空间中的最后一个字和之间...:
在我的模板:
{{post.body|truncate:65|safe}}
在我templatetags包这样的:
@register.filter
@stringfilter
def truncate(value,end):
words = value.split()
keep = words[0:end]
keep[end-1] = keep[end-1]+"..."
return " ".join(keep)
它的工作原理! 正如你所看到的,这本来是很容易只是让
keep[end] = "..."
这是我相信truncatewords功能大概会。但是这看起来并不漂亮,因为在你加入之前会有空白空间!所以如果你喜欢,请使用这个!