Django - 出生日期的日期选择器

时间:2017-01-13 23:28:50

标签: django date

我有以下表格:

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>

它正确显示但是以当前格式显示用户必须手动输入他们的出生日期。我想要一个日期选择器,允许他们从三个单独的下拉框中选择日,月,年。有关实现这一目标的最佳方法吗?或者,如果某人有更好的方式选择出生日期,那么我愿意接受这些想法。

非常感谢,艾伦。

1 个答案:

答案 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'})
    }