如何在Django模板中截取字符串前100个字符输出?
报错原因
Django 模板系统不支持 Python 原生的字符串/列表切片语法 [:100],所有截断、处理逻辑需要通过模板专属的过滤器实现,因此会抛出语法解析错误。
实现方案
你不需要自己写长度判断逻辑,Django 内置过滤器已经兼容长度不足的场景,可直接使用以下两种方案:
- 方案1:截断后自动追加省略号
如果希望超出100字符的内容末尾显示...标识内容被截断,使用truncatechars过滤器:
{{ dt.faq_info|truncatechars:100 }}
该过滤器会自动计算长度,内容不足100字符时直接输出完整内容,超出时输出前97个字符+3个省略号,总长度为100。
- 方案2:纯截断无额外字符
如果不需要追加省略号,仅需要原样取前100个字符,使用slice过滤器:
{{ dt.faq_info|slice:":100" }}
该过滤器效果和你原本想写的 Python 切片逻辑完全一致,内容不足100字符时直接返回完整内容。
内容的提问来源于stack exchange,提问作者anonymous
相关产品推荐
相关产品推荐

