2017-06-01 14 views
1

Djangoテンプレートでプロファイルの編集を使用していますが、タイムスタンプを適切な時間に変換する方法がわかりません。djangoテンプレートのタイムスタンプを表示しますか?

APIから取得している値は「dob」です:730166400000 ,.

<div class="form-group"> 
    <label class="col-sm-4 control-label text_left">Dob/label> 
    <div class="col-sm-8"> 
     <input type="text" class="form-control" 
       placeholder="Graduation Year" 
       value="{{ result_data_for_editing.dob |date:"U" }}" 
       name="graduationYear" id="graduationYear"> 
    </div> 
</div> 

を、それは無効なフィルタタグのエラーを示しています

今私は、テンプレートでこれを使用していました。 Djangoテンプレートでタイムスタンプを変換できるメソッドはありますか?私はそれがビューで可能ですが、私はDjangoのテンプレートでそれを変換したいと思います。

+1

を使用することができます。 「適切な時間」の形式は何ですか?コード例も拡張できますか?それはHTMLタグの属性 '値'ですか?どれ? – cezar

+0

適切な時間はdd-mm-yyyyを意味し、はいコードを延長する –

答えて

2

あなたは "適切な時間" を定義してくださいカスタムテンプレートフィルター

{{ datevalue| print_timestamp | date:"d-m-Y" }} 

from django import template 
import datetime 
register = template.Library() 

def print_timestamp(timestamp): 
    try: 
     ts = float(timestamp) 
    except ValueError: 
     return None 
    return datetime.datetime.fromtimestamp(ts) 

register.filter(print_timestamp) 
1

私はこのことを誤解しています。テンプレートタグを作ってこのテンプレートを作成し、templatetags(または任意の名前)でフォルダを作成し、tags.pyという名前のファイルを作成してください(あなたの名前に置き換えてください、INITの.py)

from django import template  
register = template.Library()  

@register.filter('timestamp_to_time') 
def timestamp_to_time(timestamp): 
    import datetime 
    return datetime.date.fromtimestamp(int(timestamp)) 

そして、

{% load tags %} 

、その後

であなたのテンプレートでこれを含めます210
+0

これはうまくいきません。 'datevalue'は' datetime'オブジェクトでなければなりませんが、OPはUNIXエポックからのミリ秒単位の 'timestamp'を持っています。 – cezar

+0

@cezar訂正ありがとう、私は私の答えを編集しました – Aniket

関連する問題