我见过一些定义 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

Django相关问答推荐

使用FormWizard将信息从视图传递到表单

如果密码在Django中未被散列,则对其进行散列

DRF中没有参数的视图的警告-壮观

如何从Django';S模型中的方法中检索值?

Django:作为模型中的列表元素的字段

如何在Django模板中获取组中对象的整体计数器(&Q;)?

Django 中模型将数据存储在哪里?

Django Admin:在一个部分中同时显示多个应用程序?

断开连接不会发生

在 django HTML 邮箱模板中使用字体

InvalidBasesError:无法解析 [] 的基础

Django判断字段是否为空?

Django ModelForm 没有指定模型类

目前使用 Django Evolution,South是否更好,值得切换?

在基于类的通用视图 CreateView 中访问 request.user 以便在 Django 中设置 FK 字段

Django:获取上次用户访问日期

django 表单为关键字参数获取了多个值

Django查询否定

如何在 Django 中创建一个非空的 CharField?

django.db.utils.OperationalError 无法连接到服务器