Django:用于定义select字段的元组列表中的前导下划线的含义?

我已经看到了一些定义select字段的例子:

COUNTRIES = ( ('fr', _('France')), ('de', _('Germany')), ... ) 

(来源: http : //code.djangoproject.com/ticket/5446另见: http : //djangosnippets.org/snippets/494/ )

主要下划线的含义是什么? 为什么元组中的第二个值甚至被括起来?

前导下划线是国际化(i18n)机制所使用的ugettext函数之一的常用函数别名。

这意味着,当您运行i18n时,如果翻译可用,则select域标签将被翻译成适当的最终用户语言。

在以这种语法为特征的文件的顶部,您应该看到(或者如果不是,您应该)):

from django.utils.translation import ugettext_lazy as _

有关更多详细信息,请参阅此处的文档