【问题标题】:Django - Date picker for date of birthDjango - 出生日期的日期选择器
【发布时间】:2017-05-29 10:34:21
【问题描述】:

我有以下表格:

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>

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

非常感谢,艾伦。

【问题讨论】:

  • 非常感谢您的链接。我只是在努力遵循它,因为我正在使用一个模型来创建我的表单,但该示例显示了一个正在创建的全新表单。

标签: django date


【解决方案1】:

您需要为您的字段使用 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'})
    }

【讨论】:

  • 我得到错误:从 django.forms.widget import DateInput ImportError: No module named widget。感谢您的想法,将研究它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-09
  • 2014-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-28
  • 1970-01-01
相关资源
最近更新 更多