首页 > 解决方案 > Django 3 模板日期标签不返回任何内容

问题描述

我正在尝试使用日期模板标签来格式化数据库中的日期时间

2020-10-23 08:59:44.792274

在 Django 模板上

{{ item.payment_received_time }} # return 2020-10-23 08:59:44.792274
{{ item.payment_received_time|date:"D d M Y" }} # return nothing

但什么都没有返回,我错过了什么?谢谢

标签: pythondjangodjango-templates

解决方案


(...) 但没有返回任何内容。

模板过滤器|date[Django-doc]仅适用于datedatetime对象。它不能处理字符串,因为那时结构“丢失”了。

例如:

>>> Template('{{ foo|date:"D d M Y" }}').render(Context({'foo': datetime.now().date()}))
'Sun 25 Oct 2020'
>>> Template('{{ foo|date:"D d M Y" }}').render(Context({'foo': '2020-10-25'}))

因此,在您的模型中,您将 存储payment_received_timeDateTimeField[Django-doc]DateField[Django-doc]

class Payment(models.Model):
    payment_received_time = models.DateTimeField()

推荐阅读