12

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

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

3 回答 3

32

如果您查看 import 语句,您会发现它们将 _ 绑定到一个函数,该函数将内容转换为 unicode 并通过以下方式对其进行本地化:

from django.utils.translation import ugettext_lazy as _
于 2009-12-26T00:07:48.570 回答
11

_在 Django 中是用于本地化文本的约定。它是 ugettext_lazy 的别名。阅读文档中的懒惰翻译以获取更多信息。

于 2009-12-27T12:35:37.460 回答
9

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

于 2009-12-26T00:08:07.350 回答