如何在 Django 表单中使用 TimeInput 小部件?

VA *_*ash 3 django django-forms django-widget

TimeInput 不适用于下面给出的表单。但 SelectDateWidget() 工作正常。当前 TimeInput() 小部件不会创建错误。

建议使用 TimeInput 小部件的正确方法。

表格.py

class TournmentDetails(forms.ModelForm):

    class Meta():
        model = Tournament
        fields = ('eventname','venue','date','time')

        widgets = {
            'date': forms.SelectDateWidget(
                 empty_label=("Choose Year", "Choose Month", "Choose Day"),
            ),
            'time': forms.TimeInput(format='%H:%M'),
        }
Run Code Online (Sandbox Code Playgroud)

模型.py

class Tournament(models.Model):
    eventname = models.CharField(max_length=30, default="None", choices = EVENT_CHOICES)
    venue = models.CharField(max_length=30)
    date = models.DateField(max_length=30)
    time = models.TimeField(max_length=30)
Run Code Online (Sandbox Code Playgroud)

Use*_*ser 9

默认情况下,TimeInput小部件呈现为文本类型的 html 输入字段:

<input type="text" name="time" id="id_time">

相反,如果您想将其呈现为time 类型的 html 输入字段:

<input type="time" name="time" id="id_time">

然后在 ModelForm 类的元小部件部分添加一个类型属性,如下所示:

'time': forms.TimeInput(attrs={'type': 'time'})