我试图在Django中将一个段落分成两半,以便我可以应用不同的样式,但无法弄清楚如何获得截断的后半部分。
要上半场我正在使用:
<p class="leader">{{ post.body|truncatewords:30 }}</p>
下半场将是
<p>{{ post.body|truncatewords?? }}</p> <!-- need to get 30 - end -->
我确信这是一个简单的方法 - 让我知道是否有人知道如何做到这一点。
谢谢!
答案 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