我正在尝试在项目列表中输出描述的前255个字符,并且正在寻找获得该方法的方法。
示例:我有一个包含300个左右字符的变量。
我将此变量称为{{ my_variable|characterlimit:255 }}
并且它只返回该变量的前255个字符。
如果这个标签不存在,我会简单地创建它(并建议它进入django),但我想确保在我花时间做之前没有。谢谢!
答案 0 :(得分:74)
如果“my_variable”是一个字符串,您可以利用slice filter,它将字符串视为字符列表。如果它是一组单词,那么粗略的等值是truncatewords - 但这听起来并不像你的需要。
truncatewords
还会在截断结果的末尾添加省略号...
。
用法类似于
{{ my_variable|slice:":255" }}
答案 1 :(得分:38)
{{ variable|truncatechars:255 }}
答案 2 :(得分:7)
答案 3 :(得分:4)
使用标准模板标签的更简单方法是:
{{ variable|stringformat:".10s" }}
在这种情况下,10是位置参数,对于字符串,它是要显示的最大字符数。
答案 4 :(得分:0)
遗憾的是,它并不存在。有实现它的举措,但它仍处于设计阶段(好,已实施,但等待设计决策),如here所述。
附加到该票证的补丁包含实现。
答案 5 :(得分:0)
使用templatefilter截断文本并不适合响应式设计。因此,您也可以使用CSS截断响应式文本。我知道OP要求使用django templatefilter做到这一点。
您可以使用以下方法来实现响应式的截断文本:
.class {
width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}