那就是:
{{ wpis.entry.lastChangeDate|date:"D d M Y" }}
给了我(为什么?) :
2009-07-24 21:45:38.986156
我不知道怎么跳过分数部分..。
在我的模型中,我有:
addedDate = models.DateTimeField(default=datetime.now)
我怀疑在到达模板之前,wpis.entry.lastChangeDate已经以某种方式转换为视图中的字符串。
wpis.entry.lastChangeDate
为了验证这个假设,您可以检查视图是否具有某些只有字符串才具有的属性/方法——例如 wpis.entry.lastChangeDate.upper,然后查看模板是否崩溃。
wpis.entry.lastChangeDate.upper
您还可以创建自己的 自定义过滤器,并将其用于调试目的,让它检查对象,并将检查结果写到页面上,或者仅仅写到控制台上。它将能够检查对象,并检查它是否真的是一个 DateTimeField。
另外,为什么不使用 models.DateTimeField( auto_now_add 强 >=True)来设置创建时的日期时间呢?
models.DateTimeField(
auto_now_add
=True)
你可以用这个:
addedDate = datetime.now().replace(microsecond=0)
这正是你想要的,试试这个:
\{\{ wpis.entry.lastChangeDate|date:'Y-m-d H:i' }}
\{\{ wpis.entry.lastChangeDate|date:"SHORT_DATETIME_FORMAT" }} 用您希望使用的日期和/或时间格式替换 SHORT _ DATETIME _ FORMAT。
\{\{ wpis.entry.lastChangeDate|date:"SHORT_DATETIME_FORMAT" }}
下面是 Django 模板中可用的日期和时间格式列表: Https://docs.djangoproject.com/en/4.0/ref/templates/builtins/#date Https://docs.djangoproject.com/en/4.0/ref/templates/builtins/#time
确保过滤器应用于正确的字段。