(GAE 和 django) 模板过滤和时间格式显示

Posted

技术标签:

【中文标题】(GAE 和 django) 模板过滤和时间格式显示【英文标题】:(GAE and django) template filter and time format display 【发布时间】:2011-10-23 17:30:30 【问题描述】:

我定义了这个数据结构:

class Foo(db.Model):
  created = db.DateTimeProperty(required = True)

在视图中,我用这个显示实例的创建时间:

<p> foo.created </p>

而且效果很好:

2011-08-09 15:11:30.437000

然后我用模板过滤器设置时间格式:

<p> foo.created|time:"P" </p>

我得到了这个:

3:11 p.m.

它仍然是完美的。但后来我这样设置时间格式:

<p> foo.created|time:"m/d H:i" </p>

然后我收到错误消息:

AttributeError: 'TimeFormat' 对象没有属性 'm'

我尝试了其他时间格式代码,发现只能用“分”和“秒”显示时间。 任何与“月”或“日”相关的时间格式,如“m”、“M”、“n”、“N”和“F”都会导致错误消息。

谁能告诉我为什么?

我想用月、日、分和秒来显示创建的时间。 而且我不想这样做:

 foo.created.date.month / foo.created.date.day   foo.created.time.minute : foo.created.time.second 

我觉得有点啰嗦。

谢谢!并为我糟糕的英语感到抱歉。

【问题讨论】:

【参考方案1】:

只需使用date 过滤器即可。来自the docs

The time filter will only accept parameters in the format string
that relate to the time  of day, not the date (for obvious reasons).
If you need to format a date, use the date filter.

m 是月份。

【讨论】:

我想我问了一个愚蠢的问题:P 非常感谢!这对我很有帮助! 那么日期时间过滤器在哪里? 过滤器只是日期,也更新了答案docs.djangoproject.com/en/1.5/ref/templates/builtins/#date

以上是关于(GAE 和 django) 模板过滤和时间格式显示的主要内容,如果未能解决你的问题,请参考以下文章

在 Django 模板中获取 GAE 类 collection_name 的计数

GAE/Django 模板错误

Django 模板中的日期/时间格式

GAE Django webapp2 模板渲染

Django-模板语言和过滤器

Django“naturalday”模板过滤器:回退到格式化日期?