我见过一些定义 Select 字段的示例,如下所示:
COUNTRIES = (
('fr', _('France')),
('de', _('Germany')),
...
)
(来源:http://code.djangoproject.com/ticket/5446 另请参阅:http://djangosnippets.org/snippets/494/)
前导下划线是什么意思?为什么元组中的第二个值甚至用括号括起来?
我见过一些定义 Select 字段的示例,如下所示:
COUNTRIES = (
('fr', _('France')),
('de', _('Germany')),
...
)
(来源:http://code.djangoproject.com/ticket/5446 另请参阅:http://djangosnippets.org/snippets/494/)
前导下划线是什么意思?为什么元组中的第二个值甚至用括号括起来?
前导下划线是国际化(I18N)机制使用的ugettext函数之一的常用函数别名.
这意味着,当i18n运行时,choicefield标签将被翻译成适当的最终用户语言(如果有翻译).
在以这种语法为特色的文件的顶部,您应该看到(如果没有,您应该有)如下所示:
from django.utils.translation import ugettext_lazy as _
有关更多详细信息,请参阅docs here