Форма в forms.py при рендеринге HTML требует атрибута, а в форме - нет.Поля в models.py могут иметь значение null, кроме первичного ключа и внешнего ключа.Я хочу удалить требуемый атрибут в HTML
models.py
class UserInfor(models.Model):
GENDERS = (
('nam', "Nam"),
('nữ', "Nữ"),
('khác', "Khác")
)
user = models.OneToOneField(User, on_delete=models.CASCADE)
date_of_birth = models.DateField(null=True)
gender = models.CharField(choices=GENDERS, max_length=10, null=True)
address = models.CharField(max_length=255, null=True)
phone_number = models.CharField(max_length=10, null=True)
def __str__(self):
return self.user.username
forms.py
class ProfileForm(ModelForm):
class Meta:
model = UserInfor
fields = ['date_of_birth', 'gender', 'address', 'phone_number']
widgets = {
'date_of_birth': forms.DateInput(attrs={'placeholder': 'Date of Birth', 'class': 'form-control'}),
'address': forms.TextInput(attrs={'type': 'text', 'placeholder': 'Address', 'class': 'form-control'}),
'phone_number': forms.TextInput(attrs={'type': 'text', 'placeholder': 'Phone Number', 'class': 'form-control'}),
}
labels = {
'date_of_birth': "Ngày sinh",
'gender': "Giới tính",
'address': "Địa chỉ",
'phone_number': "Số điện thoại",
}
profile.html
<div class="col-lg-10">
<div class="form-group">
<label for="id_date_of_birth"><h6>Ngày sinh</h6></label>
<input type="text" name="date_of_birth" value="1998-09-26" placeholder="Date of Birth" class="form-control" required id="id_date_of_birth">
</div>
</div>