使用 django模型实例渲染模板的 date 显示问题

时间:2024-03-15 19:54:18

文章目录

keyword: django; python; DateFiled; DateTimeField; 模板; template; instance.date; a.m; p.m; timezone;

views.py 中,传递模型实例给模板去渲染(不好意思,这句话在 django 中应该有一种专门的表述,暂时想不起来了,所以我就按照它的行为来表述),

其中模型定义了 DateTimeField 字段: date = DateTimeField()

而显示在网页上的时候想要使用 {{ model_instance.date }} 来显示时间;

出现了 24:xx a.m 这类比较奇葩的现象。

Issue

使用 django模型实例渲染模板的 date 显示问题

上面 instance.data 输错,应该是 {{ model_instance.date }}
views.py 中使用类似

return render(request, <html template name>, {'<dataModel>': model_instance })

这样的形式,然后 <template>.html 就可以使用 {{ model_instance.date }} 来显示该 model instance 保存到数据库中的的 date time了。

Solution

这里我就直接放找到的 solution 截图, 很好理解:
使用 django模型实例渲染模板的 date 显示问题

最后修改:

{{ model_instance.date }}
     ||
     \/
{{ model_instance.date |date"Y-m-d H:i" }}

Reference

django 模板使用 |date:"Y-m-d H:m" 过滤器后所有的输出时间都变成一样了

thanks to django.cn QQ 群。