Django代码中的'_'做什么?

时间:2009-12-26 00:04:41

标签: python django internationalization gettext

为什么这个Django代码在'has favicon'前面使用_

has_favicon = models.BooleanField(_('has favicon'))

3 个答案:

答案 0 :(得分:26)

如果查看import语句,你会发现它们将_绑定到一个函数,该函数将东西转换为unicode并通过编写本地化:

from django.utils.translation import ugettext_lazy as _

答案 1 :(得分:10)

Django中的

_是一种用于本地化文本的约定。它是ugettext_lazy的别名。阅读文档中的Lazy translation以获取有关它的更多信息。

答案 2 :(得分:9)

_通常是gettext的宏/函数,它表示参数是一个本地化的字符串。这不仅限于Django或Python。事实上,gettext最初是C程序的一个包,多年来一直移植到许多其他语言。