Django CreateView 字段标签
Django CreateView field labels
我正在处理一个有章节的项目,每个章节都有标题、内容和顺序。我想保留字段 'order' 的原样命名,但在 CreateView 中将字段显示为其他名称,例如 'Chapter number'。我找到的最佳信息建议更新 Meta class 中的 "labels" 属性,但这对我不起作用。
这是我现在用的,没用:
class ChapterCreate(CreateView):
model = models.Chapter
fields = [
'title',
'content',
'order',
]
class Meta:
labels = {
'order': _('Chapter number'),
}
我也试过在 Meta 之外使用 'label's 属性,但这也没有用。我应该改用 ModelForm,还是有正确的方法来做到这一点?
在这种情况下,最简单的解决方案是为您的模型字段设置 verbose_name
class Chapter(models.Model):
order = models.IntegerField(verbose_name= _('Chapter number'))
注意我在这个例子中使用了IntegerField,请使用任何需要的类型。
即使这是一个古老的主题,我认为现在使用 Django 3.1 来做这件事的方法是:
在views.py
class ChapterCreate(CreateView):
model = models.Chapter
form_class = ChapterForm
并在 forms.py 中定义 ChapterForm
class ChapterForm(ModelForm):
class Meta:
model = models.Chapter
fields = ('title', 'content','order')
labels = {
'order': _('Chapter number'),
}
我正在处理一个有章节的项目,每个章节都有标题、内容和顺序。我想保留字段 'order' 的原样命名,但在 CreateView 中将字段显示为其他名称,例如 'Chapter number'。我找到的最佳信息建议更新 Meta class 中的 "labels" 属性,但这对我不起作用。
这是我现在用的,没用:
class ChapterCreate(CreateView):
model = models.Chapter
fields = [
'title',
'content',
'order',
]
class Meta:
labels = {
'order': _('Chapter number'),
}
我也试过在 Meta 之外使用 'label's 属性,但这也没有用。我应该改用 ModelForm,还是有正确的方法来做到这一点?
在这种情况下,最简单的解决方案是为您的模型字段设置 verbose_name
class Chapter(models.Model):
order = models.IntegerField(verbose_name= _('Chapter number'))
注意我在这个例子中使用了IntegerField,请使用任何需要的类型。
即使这是一个古老的主题,我认为现在使用 Django 3.1 来做这件事的方法是:
在views.py
class ChapterCreate(CreateView):
model = models.Chapter
form_class = ChapterForm
并在 forms.py 中定义 ChapterForm
class ChapterForm(ModelForm):
class Meta:
model = models.Chapter
fields = ('title', 'content','order')
labels = {
'order': _('Chapter number'),
}