Подтвердить что ты не робот

Django: Значение ведущего подчеркивания в списке кортежей, используемых для определения полей выбора?

Я видел несколько примеров, определяющих поля выбора, например:

COUNTRIES = (
    ('fr', _('France')),
    ('de', _('Germany')),
    ...
)

(источник: http://code.djangoproject.com/ticket/5446 Также см.: http://djangosnippets.org/snippets/494/)

В чем смысл ведущих подчеркиваний? И почему второе значение в кортеже даже в скобках?

4b9b3361

Ответ 1

Ведущим подчеркиванием является обычно используемый псевдоним функции для одной из функций угнетателя, используемых механизацией интернационализации (i18n).

Это означает, что при запуске i18n метки полей выбора будут переведены на соответствующий язык конечного пользователя, если перевод будет доступен.

В верхней части файла с таким синтаксисом вы должны увидеть (или, если нет, вы должны иметь) что-то вроде:

from django.utils.translation import ugettext_lazy as _

Подробнее см. для более подробной информации