为什么这个Django代码在'has favicon'前面使用_
has_favicon = models.BooleanField(_('has favicon'))
答案 0 :(得分:26)
如果查看import语句,你会发现它们将_绑定到一个函数,该函数将东西转换为unicode并通过编写本地化:
from django.utils.translation import ugettext_lazy as _
答案 1 :(得分:10)
_
是一种用于本地化文本的约定。它是ugettext_lazy的别名。阅读文档中的Lazy translation以获取有关它的更多信息。
答案 2 :(得分:9)
_
通常是gettext的宏/函数,它表示参数是一个本地化的字符串。这不仅限于Django或Python。事实上,gettext最初是C程序的一个包,多年来一直移植到许多其他语言。