Django文檔解釋瞭如何在ModelForm模型映射中使用標籤自定義: https://docs.djangoproject.com/en/dev/topics/forms/modelforms/。 然而,當我嘗試跟隨它,我得到的錯誤:Django ModelForm標籤定製
name '_' is not defined.
我在做什麼錯?
另外,爲什麼圓括號前應該有一個_
符號?
這裏是我的代碼:
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"),
}
它確實消除了錯誤信息,但仍顯示默認標題,而不是我指定的標題。事實上,我不需要任何譯員,我可能會這樣做:labels = {「title」:「Rule Title」,}但它仍然給我默認的標題而不是「規則標題」。 – jazzblue
@GregoryR,確保你使用的是Django 1.6+。在Django 1.6中添加了'labels'選項。請參閱[從模型創建表格| Django文檔 - 覆蓋默認字段](https://docs.djangoproject.com/en/1.6/topics/forms/modelforms/#overriding-the-default-fields) – falsetru
@GregoryR,BTW,'super(ModelForm,self ).__ init __(* args,** kwargs)'應該是'super(RuleForm,self).__ init __(* args,** kwargs)'。 'exclude =(「user」)' - >'exclude =(「user」,)'或'exclude = [「user」]'。 – falsetru