Джанго множественное число для шаблонов - PullRequest
27 голосов
/ 15 ноября 2010

Как мне заставить Джанго понять, что форма единственного числа countries равна country, а не countrie

Ответы [ 2 ]

40 голосов
/ 15 ноября 2010

Из документов , если у вас есть переменная шаблона с именем num_countries, вы можете просто написать что-то вроде:

countr{{ num_countries|pluralize:"y,ies" }}
1 голос
/ 26 марта 2018

Я знаю, что этот вопрос специально задают для шаблонов, но для любого (как и я), который наткнулся на этот вопрос при поиске решения в «Python-side» 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]

Я знаю, что множественное число немного сложнее.Но в двух словах, это то, что он делает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...