如何在 django 模板中显示某些内容的前 2-3 句话?
How to show first 2-3 sentences of some content in django template?
我有一个 post 对象,它的内容属性基本上是一个 TextField。我想在我的网页上显示前几句话(不是单词,我希望它在 2-3 个句号或类似的东西后被截断)作为 post 的预览。
{{ post.content }}
如何在我的模板中执行此操作?
首先,您需要将给定的文本拆分成句子,可以使用本文提供的函数answer
接下来,注册使用上述功能的自定义模板标签,然后开始:
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 }}
我有一个 post 对象,它的内容属性基本上是一个 TextField。我想在我的网页上显示前几句话(不是单词,我希望它在 2-3 个句号或类似的东西后被截断)作为 post 的预览。
{{ post.content }}
如何在我的模板中执行此操作?
首先,您需要将给定的文本拆分成句子,可以使用本文提供的函数answer
接下来,注册使用上述功能的自定义模板标签,然后开始:
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 }}