我有以下表格:
class ProfileForm(forms.ModelForm):
class Meta:
model = Profile
fields = ('title', 'dob')
labels = {
'dob': ('D.O.B'),
}
Run Code Online (Sandbox Code Playgroud)
它基于以下模型:
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'
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
它显示正确,但在当前格式中,用户必须手动输入他们的出生日期。我想要一个日期选择器,允许他们从三个单独的下拉框中选择日、月、年。关于实现这一目标的最佳方法的任何想法?或者,如果有人有更好的选择出生日期的方法,那么我愿意接受想法。
非常感谢,艾伦。
小智 5
您需要为您的字段使用 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'})
}
Run Code Online (Sandbox Code Playgroud)