Как показать первые 2-3 предложения некоторого контента в шаблоне django?

У меня есть объект post, который имеет атрибут content, который по сути является TextField. Я хочу показать первые несколько предложений (не слов, я хочу, чтобы оно усекалось после 2-3 полных остановок, или что-то вроде этого) в качестве предварительного просмотра сообщения на моей веб-странице.

{{ post.content }}

Как мне сделать это в моем шаблоне?

Сначала необходимо разбить заданный текст на предложения, для этого можно использовать функцию, представленную в этом ответ

Далее, зарегистрируйте свой пользовательский тег шаблона, который использует вышеуказанную функцию, и вот, пожалуйста:

from django import template
from django.template.defaultfilters import stringfilter

from <your utils package> import split_into_sentences

register = template.Library()

@register.filter
@stringfilter
def truncate_sentences(value, length=3):
    sentences = split_into_sentences(value)
    return ' '.join(sentences[:length])

Затем просто используйте тег пользовательского шаблона в своем шаблоне:

{{ post.content|truncate_sentences:3 }}
Вернуться на верх