Django:如何获得截断词的截断部分

时间:2014-02-06 13:37:45

标签: django filter

我试图在Django中将一个段落分成两半,以便我可以应用不同的样式,但无法弄清楚如何获得截断的后半部分。

要上半场我正在使用:

   <p class="leader">{{ post.body|truncatewords:30 }}</p>

下半场将是

   <p>{{ post.body|truncatewords?? }}</p>  <!-- need to get 30 - end -->

我确信这是一个简单的方法 - 让我知道是否有人知道如何做到这一点。

谢谢!

1 个答案:

答案 0 :(得分:3)

这很简单,请问:)

from django import template

register = template.Library()

@register.filter
def truncatedwords(value, arg):
    return " ".join(value.split()[arg:])

快速测试:

>>> def truncatedwords(value, arg):
...     return " ".join(value.split()[arg:])
... 
>>> value = "This is the second part"
>>> arg = 3
>>> truncatedwords(value, arg)
'second part'
>>> 

您需要知道的只是文档:https://docs.djangoproject.com/en/1.6/howto/custom-template-tags/

<强>更新

看一下Django的来源。截尾词生活在: django.template.defaultfilters并使用django.utils.text.Truncator