如何在模板中以 12h 格式渲染 Django Forms.TimeField?

How to Render Django Forms.TimeField in 12h Format in Template?

我有一个用于创建和更新模型数据的 Django 表单。当我创建新记录时,一切正常,因为我只需通过 timepicker 输入 6:30 pm。但是,当我编辑当前记录时,Django 默认以 24 小时格式显示初始时间,例如 18:30:00 而我的 timepicker 期望 12 小时格式值。

如何让 Django 在我的模板中以 12h AM/PM 格式输出数据库值?

这是我的 Django 表单中的时间字段

self.fields['starttime'] = forms.TimeField(
                            required=True,
                            label='Start Time',
                            input_formats=['%I:%M %p'])

在我的模板中,我使用 {{ form.starttime }} 来呈现字段。

您可以手动设置 TimeInput 小部件的格式:

self.fields['starttime'] = forms.TimeField(
                            required=True,
                            label='Start Time',
                            input_formats=['%I:%M %p'],
                            widget=forms.TimeInput(format='%I:%M %p'))