【问题标题】:django plural for templatesdjango 复数模板
【发布时间】:2011-05-10 06:42:39
【问题描述】:

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

【问题讨论】:

  • 姜戈?还是它的特定部分?

标签: django django-templates


【解决方案1】:

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

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

【讨论】:

【解决方案2】:

我知道这个问题是专门针对模板提出的,但对于任何人(就像我一样)在“Python 端”Django 中搜索解决方案时偶然发现这个问题

from django.template.defaultfilters import pluralize

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

pluralize 函数查看第一个参数,看它是否是复数形式。假设第一个参数始终是某种数组。所以:

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]

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-24
    • 2012-01-19
    • 1970-01-01
    • 1970-01-01
    • 2020-10-14
    • 2015-12-11
    • 2016-05-11
    • 1970-01-01
    相关资源
    最近更新 更多