在ListView中转换日期时间格式

时间:2017-11-07 09:47:37

标签: django

我尝试在模板中更改日期时间的显示格式,

以下是views.py中的代码:

class RestaurantListView(LoginRequiredMixin, ListView):
    def get_queryset(self):
        return  RestaurantLocation.objects.filter(owner=self.request.user)

模板中的代码:

<ul> {% for obj in object_list  %}
    <li>{{ obj.city }},{{ obj.location }} {{ obj.category }}</li>
    <li>FirstVisit: {{ obj.visited }}</li>
        <br>
</ul>

浏览器显示日期时间:

  

FirstVisit:2015年9月9日,下午3点08分

我打算转换为:

  

FirstVisit:2015-09-09 3:08 p.m。

所以我在views.py中导入日期时间并在模板中格式化datetime对象,

<li>FirstVisit: {{ obj.visited.strftime('%Y-%m-%d %I:%M %p') }}</li>

报告错误:

django.template.exceptions.TemplateSyntaxError:
Could not parse the remainder: '('%Y-%m-%d %I:%M %p')' 
from 'obj.visited.strftime('%Y-%m-%d %I:%M %p')'

如何更改模板中日期时间的格式?

1 个答案:

答案 0 :(得分:4)

模板中的

只需使用此

<li>FirstVisit: {{ obj.visited|date:'Y-m-d H:i'  }}</li>

只需在格式部分

中提供所需的格式