如何让django意识到countries
的单数形式是country
而不是countrie
答案 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]
我知道复数化稍微复杂一些。但简而言之,这就是它的作用。