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

zjm*_*126 10 python django gettext internationalization

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

has_favicon = models.BooleanField(_('has favicon'))
Run Code Online (Sandbox Code Playgroud)

Sap*_*Sun 26

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

from django.utils.translation import ugettext_lazy as _
Run Code Online (Sandbox Code Playgroud)

  • 对于那些看到这个答案的人,Django 已弃用“ugettext_lazy”,转而使用“gettext_lazy”。 (2认同)

Jos*_*ogi 10

_在Django中是一种用于本地化文本的约定.它是ugettext_lazy的别名.阅读文档中的Lazy翻译,了解有关它的更多信息.


jus*_*ody 9

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

  • 添加了关于gettext遗产的部分.你也可以复制它.;) (2认同)
  • 它还标记为需要翻译,因此自动化工具可以创建*.po文件供翻译人员使用. (2认同)