0

我想接收时差,所以我在已安装的应用程序中添加了 'django.contrib.humanize',并在我的模板中添加了 '{% load humanize %}',并按如下方式使用它:

{% for notification in request.session.notifications %}
       <li> <div class="media">
            <div class="media-left">
            <div class="media-object">
                 <img data-src="holder.js/50x50?bg=cccccc" class="img-circle" alt="50x50" style="width: 50px; height: 50px;" src="{% static 'img/profile.png' %}" data-holder-rendered="true">
             </div>
             </div>
             <div class="media-body">
             <strong class="notification-title"><a href="#">{{ notification.fields.actor_object_id }} {{ notification.fields.verb }} {{ notification.fields.target_object_id }}</a></strong>
             <div class="notification-meta">
                  <small class="timestamp">{{ notification.fields.timestamp|naturaltime }}</small>
            </div>
            </div>
            </div> 
       </li>
{% endfor %}

但结果再次相同:2017-01-18T10:59:11Z

4

1 回答 1

0

正如 Resley 所说,当数据序列化为 JSON 时,时间戳字段转换为字典。我创建了自定义标签并在我的模板中使用它。

from django import template
import dateutil.parser

register = template.Library()

@register.filter(name='to_date') 
def to_date(value):
    print type(dateutil.parser.parse(value))
    return dateutil.parser.parse(value)

然后在模板中,将行更改如下:

<small class="timestamp">{{ notification.fields.timestamp|to_date|naturaltime }}</small>
于 2017-01-25T06:25:58.627 回答