2011-10-08 67 views
2

我試圖使用Django的{{ timestamp|date:"d M Y" }}功能將時間戳格式化爲日期。Django日期過濾器不顯示呈現模板中的格式化時間戳

我遇到了一個問題,我可以用{{ timestamp }}輸出並查看原始時間戳,但當我的頁面使用{{ timestamp|date:"d M Y" }}呈現時,通過過濾器的格式不會輸出任何內容。

例如,當我加載頁面時,{{ timestamp }} - {{ timestamp|date:"d M Y" }}的結果是1317945600 -

關於我可能做錯什麼的建議?

回答

5

問題是,日期不想要一個時間戳,它想要一個日期時間或日期對象。 你必須解析Python中的時間戳或製作一個模板標籤。

它添加到templatetags/mytags.py

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

@register.filter("timestamp") 
def timestamp(value): 
    try: 
     return datetime.fromtimestamp(value) 
    except AttributeError: 
     return '' 

然後用它

{{ some_timestamp_value|timestamp|date:"format..." }} 
相關問題