РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
752 of 818 menu

Метод words

Метод words применяется к экземпляру класса Truncator и возвращает строку, обрезанную до указанного количества слов. Метод добавляет многоточие (три точки) в конце обрезанной строки, чтобы указать на то, что текст был сокращен. Обрезка происходит по границам слов, что делает результат более читаемым по сравнению с обрезкой по символам. Метод принимает обязательный аргумент num - количество слов, которое нужно оставить.

Синтаксис

from django.utils.text import Truncator truncator = Truncator(text) result = truncator.words(num)

Параметры

Метод words принимает следующие параметры:

⁅b⁆num⁅/b⁆ - обязательное целочисленное значение, определяющее количество слов, которое должно остаться в итоговой строке. Если указанное число больше фактического количества слов в исходном тексте, метод вернет исходную строку без изменений.

Пример . С обрезкой текста до 3 слов

Создадим усекатель текста и обрежем строку до трех слов:

from django.utils.text import Truncator text = "Это длинное предложение с множеством слов для примера" truncator = Truncator(text) res = truncator.words(3) print(res)

Результат выполнения кода:

"Это длинное предложение..."

Пример . С текстом короче указанного количества слов

Если количество слов в исходном тексте меньше указанного значения, метод вернет полный текст без обрезки:

from django.utils.text import Truncator text = "Короткий текст" truncator = Truncator(text) res = truncator.words(10) print(res)

Результат выполнения кода:

"Короткий текст"

Пример . С текстом, содержащим знаки препинания

Метод words корректно обрабатывает знаки препинания и HTML-теги, обрезая текст по словам:

from django.utils.text import Truncator text = "<p>Привет, мир! Как у тебя дела, друг?</p>" truncator = Truncator(text) res = truncator.words(4) print(res)

Результат выполнения кода:

"<p>Привет, мир! Как у тебя дела...</p>"

Пример . С использованием в модели

Метод часто используется в моделях для создания краткого описания или анонса записи:

from django.db import models from django.utils.text import Truncator class Article(models.Model): title = models.CharField(max_length=200) content = models.TextField() def short_content(self): return Truncator(self.content).words(20)

Теперь при вызове метода short_content для экземпляра модели будет возвращаться обрезанная версия содержимого:

from myapp.models import Article article = Article.objects.get(id=1) res = article.short_content() print(res)

Смотрите также

  • метод chars,
    который обрезает текст по количеству символов
  • функция slugify,
    которая преобразует строку в URL-совместимый формат
  • класс Truncator,
    который предоставляет методы для обрезки текста
  • функция mark_safe,
    которая помечает строку как безопасную для вывода в HTML
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить