尽管我不完全确定您的代码为什么不起作用,但无论如何这是“错误”的事情。
尝试使用 truncatechars 方法:https ://docs.djangoproject.com/en/dev/ref/templates/builtins/#truncatechars
{{ value|truncatechars:9 }}
如果值为Joel is a slug
,则输出为Joel i...
。
对于 Django 1.3 或更早版本,请使用以下模板标签: http: //djangosnippets.org/snippets/444/
from django import template
register = template.Library()
@register.filter
def truncatechars(s, num):
"""
Truncates a word after a given number of chars
Argument: Number of chars to truncate after
"""
length = int(num)
string = []
for word in s.split():
if len(word) > length:
string.append(word[:length]+'...')
else:
string.append(word)
return u' '.join(string)