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

Класс Truncator

Класс Truncator применяется к строке и возвращает новый объект, который позволяет обрезать строку различными способами. Основные методы класса - chars для обрезки по количеству символов и words для обрезки по количеству слов. Класс учитывает HTML-теги и может корректно обрезать текст, не разрывая структуру тегов.

Синтаксис

from django.utils.text import Truncator truncator = Truncator(text) result = truncator.chars(length, truncate='...', html=False) result = truncator.words(length, truncate='...', html=False)

Параметры методов:

  • length - количество символов или слов, до которого нужно обрезать строку
  • truncate - строка, которая добавляется в конец обрезанного текста (по умолчанию '...')
  • html - флаг, указывающий, содержит ли строка HTML-теги (по умолчанию False)

Пример . С методом chars

Давайте обрежем строку до 10 символов:

from django.utils.text import Truncator text = "Это длинная строка для обрезки" truncator = Truncator(text) res = truncator.chars(10) print(res)

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

"Это длинная..."

Пример . С методом words

Давайте обрежем строку до 3 слов:

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

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

"Это длинная строка..."

Пример . С HTML-тегами

Давайте обрежем HTML-строку до 20 символов, сохраняя структуру тегов:

from django.utils.text import Truncator html_text = "<p>Это <strong>длинная</strong> строка с HTML</p>" truncator = Truncator(html_text) res = truncator.chars(20, html=True) print(res)

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

"<p>Это <strong>длинная</strong> с...</p>"

Пример . С кастомным окончанием

Давайте обрежем строку до 15 символов с кастомным окончанием:

from django.utils.text import Truncator text = "Это очень длинная строка для примера" truncator = Truncator(text) res = truncator.chars(15, truncate=' [read more]') print(res)

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

"Это очень длинная [read more]"

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

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