我正在使用 Django ModelForm 作为标签。但是,我不知道如何添加标签ID,并且在Internet上找不到任何内容。
class UserForm(ModelForm):
class Meta:
model = User
fields = ['first_name', 'last_name', 'email']
widgets = {
'first_name': forms.TextInput(attrs={'type': 'text', 'placeholder': 'First Name', 'class': 'form-control input-md'}),
'last_name': forms.TextInput(attrs={'type': 'text', 'placeholder': 'Last Name', 'class': 'form-control input-md'}),
'email': forms.EmailInput(attrs={'placeholder': 'Email', 'class': 'form-control input-md'}),
}
labels = {
'first_name': "Họ",
'last_name': "Tên",
'email': "Email",
}
<label style="margin-left: -48px; margin-right: 48px;" class="col-md-4 control-label" for="">First Name</label>
答案 0 :(得分:0)
会自动添加
id
字段,但是可以覆盖此行为。参见Automatic primary key fields。
因此,您需要将id
添加到 ModelForm 的fields
中,然后使用labels
类中的Meta
更改其标签的形式。
class UserForm(ModelForm):
class Meta:
model = User
fields = ['id', 'first_name', 'last_name', 'email']
widgets = {
'first_name': forms.TextInput(attrs={'type': 'text', 'placeholder': 'First Name', 'class': 'form-control input-md'}),
'last_name': forms.TextInput(attrs={'type': 'text', 'placeholder': 'Last Name', 'class': 'form-control input-md'}),
'email': forms.EmailInput(attrs={'placeholder': 'Email', 'class': 'form-control input-md'}),
}
labels = {
'id': "ID",
'first_name': "Họ",
'last_name': "Tên",
'email': "Email",
}