我已经看到了一些定义选择字段的例子:
COUNTRIES = (
('fr', _('France')),
('de', _('Germany')),
...
)
(资料来源:http://code.djangoproject.com/ticket/5446 另见:http://djangosnippets.org/snippets/494/)
领先下划线的含义是什么?为什么元组中的第二个值甚至是括号?
答案 0 :(得分:69)
前导下划线是国际化(i18n)机制使用的ugettext函数之一的常用函数别名。
这意味着当您运行i18n时,如果有可用的翻译,则选择域标签将被翻译成适当的最终用户语言。
在具有这种语法的文件的顶部,您应该看到(或者如果没有),例如:
from django.utils.translation import ugettext_lazy as _
有关详细信息,请参阅docs here