【发布时间】:2014-09-28 07:02:31
【问题描述】:
我在 django 模板中格式化日期对象时遇到问题。在 models.py 中,对象如下所示:
release_date = models.DateField(blank=True,null=True)
在数据库中是这样的:
[release_date] date,
模板中不起作用的调用是这样的:
<td>{{ row.release_date|date:"Y-m-d" }}</td>
如果我删除 |date:"Y-m-d",输出如下所示:
08/04/2014
使用 |date:"Y-m-d" 根本没有日期,但网站的其余部分看起来很好,并且控制台中也没有错误消息。
我已经尝试将views.py 中的日期时间对象转换为字符串,但不知何故,该对象仍以日期时间对象的形式出现在模板中。这是我在views.py中所做的:
data=Release.objects.all().order_by('-release_date')
#convert dates to format YYYY-MM-DD since conversion does not work in the template
for data_item in data:
if data_item.orig_plan_date is not None:
data_item.orig_plan_date = data_item.orig_plan_date.strftime('%Y-%m-%d')
有人知道我该如何解决这个问题吗?
【问题讨论】:
-
字母之间的破折号是 django 日期格式的有效语法吗?我在文档docs.djangoproject.com/en/dev/ref/templates/builtins/#date 中没有看到任何破折号使用示例
-
|date:"Y m d" 也不起作用
标签: django date django-templates