Django ModelForm标签定制

jaz*_*lue 14 python django label django-forms

Django文档解释了如何在ModelForm模型映射中使用标签自定义:https://docs.djangoproject.com/en/dev/topics/forms/modelforms/ .但是,当我尝试按照它时,我得到错误:

name '_' is not defined.
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

另外,为什么_括号前应该有符号?

这是我的代码:

class RuleForm(ModelForm):
    def __init__(self, *args, **kwargs): 
        super(ModelForm, self).__init__(*args, **kwargs)
        self.css_class = "rule"

    class Meta:
        model = Rule
        fields = ("user", "title")
        exclude = ("user")
        widgets = {
            "title" : TextInput(attrs={"class" : "title"}),
        }
        labels = {
            "title": _("Rule Title"),
        }
Run Code Online (Sandbox Code Playgroud)

小智 18

如果其他人正在寻找它(2016年 - Django 1.9)

它对我来说就像这样:

labels = {
            "title": "Rule Title",
            "other_field": "Other Title"
        }
Run Code Online (Sandbox Code Playgroud)

随着懒惰的导入.


fal*_*tru 10

你导入了以下内容吗?

from django.utils.translation import ugettext_lazy as _
Run Code Online (Sandbox Code Playgroud)

ugettext,ugettext_lazy用于指定翻译字符串._用于保存打字.

翻译| Django文档.