Django不显示模板格式化的时间值

时间:2013-08-14 20:56:57

标签: django templates time tags modelform

我已经设置了这样的模型:

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' }}

时间根本不显示!

非常感谢任何见解! 谢谢!

1 个答案:

答案 0 :(得分:1)

事实证明我只是没有正确迁移数据库,因为我的所有测试都找到了正确格式化的时间,但是它无法在runserver上运行。一切都很好,谢谢!