Django 基础教程

Django 查询

Django 展示数据

Django Admin

Django 模板

Django 表单组件

Django 高级

Django FAQ

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/django-template-filter-truncatewords.html

django 模板过滤器 truncatewords 文本截断详解,使用方法及示例

Django 模版过滤器详解 Django 模版过滤器详解


在 Django 中,truncatewords 是一个常用的模板过滤器,用于对文本进行截断,保留指定数量的单词,并在末尾添加省略号。它在显示长文本内容时非常有用,以便在页面上节省空间,同时提供必要的信息。

语法

{{ value|truncatewords: num_words }}
  • value : 表示要进行截断的文本内容,通常是一个字符串。
  • num_words : 表示要保留的单词数量,这应该是一个整数值。

作用

truncatewords 过滤器的作用是将输入的文本截断为指定数量的单词,以便在模板中显示较长的内容时能够控制显示的长度。

使用方法

在 Django 模板中使用 truncatewords 过滤器非常简单,只需将要截断的文本放在模板中,然后在输出时使用过滤器语法。

使用场景

truncatewords 适用于各种需要限制文本长度的场景,比如:

  1. 显示新闻标题或文章标题,以防止标题过长破坏页面布局。
  2. 显示文章摘要或简介,确保在文章列表中能够展示完整的信息,不过多占用空间。
  3. 显示用户生成的内容,例如评论或帖子,以保持界面整洁。

代码示例

假设我们有一个 Django 视图将一篇文章的内容传递到模板中,并且我们希望在模板中只显示前 200 个单词。

  1. Django 视图代码:
from django.shortcuts import render

def article_view(request):
    article_content = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ac lacus ut massa dictum varius. Phasellus vel risus eget lectus lobortis bibendum nec in velit. Sed venenatis metus eget ipsum vestibulum auctor. Proin nec urna vel elit efficitur vulputate. Donec mollis magna et ipsum ultrices suscipit. Integer id odio et metus interdum venenatis. Etiam luctus bibendum ligula. Phasellus vel mi eu elit dictum fermentum at eu sapien. Sed ac odio magna. Proin vel semper nisi. Vivamus sed fringilla nulla."

    return render(request, 'article.html', {'article_content': article_content})
  1. article.html 模板代码:
<!DOCTYPE html>
<html>
<head>
    <title>Article</title>
</head>
<body>
    <h1>Article Content</h1>
    <p>{{ article_content|truncatewords:200 }}</p>
</body>
</html>

在上面的例子中,truncatewords:200 过滤器将 article_content 变量的内容截断为 200 个单词。当文章内容超过 200 个单词时,输出将只显示前 200 个单词,并在末尾添加省略号。这样在页面上显示的文章内容将比较简洁,并且保留了必要的信息。

请注意,truncatewords 过滤器不会破坏完整的单词,它会确保截断后的文本仍然保持合法的语法。

urlizetrunc是Django提供的一个内置模板过滤器之一,用于将一个包含URL的文本进行截断和格式化,使其在页面上呈现为可点击的链接 ...
在Django模板中,truncatechars_html是一个内置的模板过滤器,用于截断包含HTML标签的文本内容。常见的使用场景包括:新 ...
在Django中,truncatechars是一个模板过滤器,用于截断字符串并添加省略号。content|truncatechars:200 ...
在Django模板中,truncatewords_html是一个非常有用的过滤器,用于在HTML文本中截取一定数量的单词并保留HTML标签, ...
在Django中,striptags是一个内置的模板过滤器,它用于从文本中去除HTML标签。如果content变量的值为"<p>Thisis ...