1

我已经建立了一个这样的模型:

class Reoccurring(models.Model):
    Username = models.ForeignKey(User, to_field="username")
    Description = models.CharField(max_length=100)
    Time = models.TimeField()
    DayOrDate = models.CharField(max_length=100)
    Interval = models.ForeignKey(IntervalChoices, to_field="choice", default='Week')

并像这样设置了我的模型:

valid_time_formats = ['%H:%M', '%I:%M%p', '%I:%M %p', '%H%p']

class ReoccurringForm(ModelForm):
    def __init__(self, *args, **kwargs):
        super(ReoccurringForm, self).__init__(*args, **kwargs)

        ...

        self.fields['Time'] = TimeField(input_formats=valid_time_formats)
        self.fields['Time'].label = ''
        self.fields['Time'].widget.attrs.update({
            'class': 'form-control',
            'placeholder': 'Time'
        })

如您所见,我将模型设置为时间字段,然后将其重置,以便我可以使用一些基本格式字符串对其进行验证。但是,当我尝试直接从模型显示到模板时,问题就出现了。我尝试这样做:

{{ item.Time }}

我得到了 HH:MM:SS 格式显示..所以我尝试使用标签来格式化它:(TIME_FORMAT 未在设置中设置)

{{ item.Time|time:"TIME_FORMAT" }}

或者

{{ item.Time|time }}

或者

{{ item.Time|time:'P' }}

而且时间根本不显示!

任何见解将不胜感激!谢谢!

4

1 回答 1

1

原来我只是没有正确迁移数据库,因为我所有的测试都找到了正确格式化的时间,但它在 runserver 上不起作用。一切都很好,谢谢!

于 2013-08-14T22:04:46.763 回答