当用户编辑表单字段时,从Django时间字段中删除秒数

2024-10-01 16:25:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个叫做Event的模型,用户可以在其中添加事件名称、事件时间和事件位置。在

事件时间是Django时间域

用户也可以编辑他们认为合适的时间。但是,当我让用户编辑字段时,字段显示如下:

10:00:00

我知道它的内部存储方式是这样的,但是有没有办法在用户编辑字段时删除秒数呢?像这样:

^{pr2}$

在表单.py公司名称:

time_widget = forms.widgets.TimeInput(attrs={'class': 'form-control', 'placeholder': 'ex: 10:30AM'})
valid_time_formats = ['%H:%M', '%I:%M%p', '%I:%M %p']

class EditEventForm(forms.ModelForm):
    event_time = forms.TimeField(required=True, widget=time_widget, help_text='ex: 10:30AM', input_formats=valid_time_formats)

在视图.py相关代码:

...
form = EditEventForm(request.POST or None, instance = instance)
...

更新 我想允许用户输入时间,如10:00或10:00 AM。所以我需要所有这些格式:'%H:%M', '%I:%M%p', '%I:%M %p'

如果表单字段中的文本显示一天中的时间(例如上午10:00),那就更好了,但是删除的秒数也足够了(例如10:00)。在


Tags: 用户pyform名称编辑time时间事件
2条回答

我只是添加了js,直到找到更好的解决方案:

      var event_time = $('#id_event_time').val();
      if (event_time.length > 5) {
        var new_event_time = event_time.slice(0,-3)
        $('#id_event_time').val(new_event_time);
      }

你能以你的形式,做:

event_time = forms.TimeField(widget=forms.TimeInput(format='%H:%M'))

相关问题 更多 >

    热门问题