在 Django 中,将小部件设置为 DateInput 时,预填充 DateField 不起作用

莫高

我希望使用特定日期预填充表单字段。

我有一个创建视图:

class CreateEventView(CreateView):
    model = Event
    template_name = 'events/form.html'
    form_class = EventForm

    def get_initial(self):
        initial = super(CreateEventView, self).get_initial()
        initial['start_date'] = datetime.date(day=2,month=11,year=2018)
        return initial

如果我使用这个 ModelForm,它会在文本字段中显示预填充的日期(如预期的那样):

class EventForm(ModelForm):
    start_date = DateField()
    # ...

但我希望使用一个不错的日期选择器小部件。但随后预填充不再起作用:

class EventForm(ModelForm):
    start_date = DateField(widget=DateInput(attrs={'type': 'date'}))
    # ...

为什么会这样?我该怎么办?这种行为是否有记录?

莫高

我需要像这样向小部件添加格式:

class EventForm(ModelForm):
    start_date = DateField(widget=DateInput(format='%Y-%m-%d', attrs={'type': 'date'}), required=False)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章