Почему это использование _
кода Джанго перед «имеет фавиконки»Что делает «_» в коде Django?
has_favicon = models.BooleanField(_('has favicon'))
Почему это использование _
кода Джанго перед «имеет фавиконки»Что делает «_» в коде Django?
has_favicon = models.BooleanField(_('has favicon'))
Если вы посмотрите в операторы импорта, вы обнаружите, что они связаны _ функции, которая превращает вещи в юникода и локализует его написав:
from django.utils.translation import ugettext_lazy as _
_
обычно макро/функция из Gettext, это означает, что аргумент является строкой локализованы. это не ограничивается Django или Python. на самом деле gettext изначально является пакетом для программ на C, который переносится на многие другие языки на протяжении многих лет.
добавлена часть о наследии gettext. вы также можете скопировать его. ;) –
Он также отмечает его как необходимый перевод, поэтому автоматизированные инструменты могут создавать файл * .po для использования переводчиками. –
_
в Django - это соглашение, которое используется для локализации текстов. Это псевдоним для ugettext_lazy. Прочтите Lazy translation в документации для получения дополнительной информации.
+1 для связи с документами. – Boldewyn
добавлена часть о локализации благодаря только кому-то – SapphireSun