在Django Form上输入DatetimeInput的有效日期/时间

时间:2017-02-12 18:45:31

标签: django django-models django-forms django-templates

我填充字段以编辑事件。这些字段显示为“DD / MM / YY HH:MM:SS”,但是当我更改任何值时 - 虽然保留了格式 - 并尝试保存它,但它显示错误:

  

输入有效的日期/时间

class EventForm(forms.ModelForm):
    ...
    date = forms.DateTimeField(widget=forms.widgets.DateTimeInput(format="%d/%m/%Y %H:%M:%S", attrs={'placeholder':"DD/MM/YY HH:MM:SS"}))
    ...

class Meta:
    model = Event

views.py

def event(request, category_slug, event_slug):
    ...
    event = Event.objects.get(slug=event_slug)
    form = EventForm(instance=my_event)
    context_dict["edit_event_form"] = form
    ...

return render(request, 'handsup/event.html', context=context_dict)

这是在event.html中调用字段的方式:

 <div class="form-group">
     {{ edit_event_form.date.errors }}
     {{ edit_event_form.date.label_tag }}
     {{ edit_event_form.date|addclass:"form-control form-style"}}
</div>

非常感谢任何评论或建议。谢谢。

1 个答案:

答案 0 :(得分:0)

根据你的表达

  

%d /%m /%Y%H:%M:%S

您的日期应包含4位数字,例如:14/02 / 2017 10:34:52

如果你想使用2位数的年份,应该使用微小的'y',如下所示:

  

%d /%m /%y%H:%M:%S

无论如何,我不确定django datetime字段是否合适。

希望有所帮助