django复数模板

时间:2010-11-15 14:38:46

标签: django django-templates

如何让django意识到countries的单数形式是country而不是countrie

2 个答案:

答案 0 :(得分:37)

docs开始,如果你有一个名为num_countries的模板变量,你可以写下这样的内容:

countr{{ num_countries|pluralize:"y,ies" }}

答案 1 :(得分:1)

我知道这个问题是专门要求提供模板的,但是对于任何人(就像我一样)在搜索Python方面的解决方案时遇到了这个问题' Django的

from django.template.defaultfilters import pluralize

def pluralize_countries(countries):
    return 'countr{}'.format(pluralize(countries, 'y,ies')

复数函数查看第一个参数以查看它是否为复数。让我们假设第一个参数总是某种数组。所以:

if len(countries) > 1:
    # PLURAL!
else:
    # SINGLE!

然后,它查看第二个参数,看看如果第一个参数是单个或复数,该怎么办。 复数代码的粗略草图如下所示:

def pluralize(arr, options):
    split_options = options.split(',')
    if len(arr) > 1:
        return split_options[1]
    else:
        return split_options[0]

我知道复数化稍微复杂一些。但简而言之,这就是它的作用。