2017-01-24 2 views
0

インストールされているアプリケーションに 'django.contrib.humanize'を追加し、テンプレートに '{%load humanize%}'を追加して、以下のように使用してください:Djangoナチュラルタイムタグ

{% 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 %} 

が、結果は再び同じである:59:11Z 2017-01-18T10

+0

'timestamp'フィールドのタイプ? – Sayse

+0

それはDateTimeField型 –

+0

です関与任意の継承はありますか?あなたはどこで正確に人間化しますか? – Sayse

答えて

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> 
関連する問題