我有以下表格:
class ProfileForm(forms.ModelForm):
class Meta:
model = Profile
fields = ('title', 'dob')
labels = {
'dob': ('D.O.B'),
}
基于以下型号:
class Profile(models.Model):
user = models.OneToOneField(User)
title = models.CharField(max_length=10)
dob = models.DateField(max_length=8)
class Meta:
managed = True
db_table = 'fbf_profile'
HTML部分如下:
<div class="form-group">
<label class="col-sm-5 control-label">{{ profileform.dob.label }}:</label>
<div class="col-sm-7">
{{ profileform.dob }}
<div class="text-danger">
{% for error in profileform.dob.errors %}{{ error }}<br/>{% endfor %}
</div>
</div>
</div>
它正确显示但是以当前格式显示用户必须手动输入他们的出生日期。我想要一个日期选择器,允许他们从三个单独的下拉框中选择日,月,年。有关实现这一目标的最佳方法吗?或者,如果某人有更好的方式选择出生日期,那么我愿意接受这些想法。
非常感谢,艾伦。
答案 0 :(得分:3)
您需要为您的字段使用django.forms.widget.DateInput类的DateInput小部件
from django.forms.widgets import DateInput
class ProfileForm(forms.ModelForm):
class Meta:
model = Profile
fields = ('title', 'dob')
labels = {
'dob': ('D.O.B'),
}
widgets = {
'dob': DateInput(attrs={'type': 'date'})
}