【问题标题】:Django not displaying template formatted time valueDjango不显示模板格式的时间值
【发布时间】:2013-08-14 20:56:57
【问题描述】:

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

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

时间根本不显示!

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

【问题讨论】:

  • {{ item.Time|time:"H:i" }} 工作吗?
  • 它没有,我无法获得除默认格式以外的任何格式):

标签: django templates time tags modelform


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-10-23
    • 2012-07-01
    • 2014-08-12
    • 1970-01-01
    • 2012-05-29
    • 2019-01-21
    • 2011-12-05
    • 1970-01-01
    • 2016-10-03
    相关资源
    最近更新 更多