django - 截断模板标签的输出?

时间:2011-05-30 16:24:17

标签: django

我有一个输出文字的模板标签。我如何通过truncate_words运行它?

e.g。我的搜索结果通过以下方式返回:

{% get_translated_value result "text" %}

如何通过truncate_words运行:50?

答案是(我几个小时内无法更新此帖子):

{% filter truncatewords:30 %}
    {% get_translated_value result "text" %}
{% endfilter %}

1 个答案:

答案 0 :(得分:0)

from django import template
from django.utils.encoding import force_unicode
register = template.Library()

def truncate(value, arg = None):
    if arg:
        return force_unicode(value)[:arg]
    return value

register.filter('truncate', truncate)

还有一些其他的选择(没试过它们......制作了我自己的车轮):

  1. http://djangosnippets.org/snippets/163/
  2. http://djangosnippets.org/snippets/194/
  3. http://djangosnippets.org/snippets/1471/