我想收到时差,所以我添加了' 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
答案 0 :(得分:0)
正如Resley所说,当数据序列化为JSON时,timestamp字段转换为字典。我创建了自定义标记并在我的模板中使用它。
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>