1

模板.html

{{list.report.description|default:"No description available"|slice:"45" }}{% if list.report.description|length > 45 %}...{% endif %}

1.如果输入的字符超过45,这是切片。

2.创建新报告时出现问题,如果没有给出描述,它应该显示默认文本为“没有描述可用”,而是显示文本和3个点。

2.如果该字段保存为空也没问题,它显示默认为“无可用描述”。

谢谢

4

1 回答 1

1

尽管我不完全确定您的代码为什么不起作用,但无论如何这是“错误”的事情。

尝试使用 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)
于 2013-06-29T15:03:34.247 回答