2011-10-08 2 views
2

장고의 {{ timestamp|date:"d M Y" }} 기능을 사용하여 날짜에 타임 스탬프의 형식을 지정하려고합니다.Django 날짜 필터가 렌더링 된 템플릿에 형식화 된 타임 스탬프를 표시하지 않습니다.

{{ timestamp }}으로 원시 타임 스탬프를 출력 할 수있는 문제가 발생하지만 {{ timestamp|date:"d M Y" }}을 사용하여 내 페이지가 렌더링 될 때 필터를 통해 서식이 출력되지 않습니다.

예를 들어, 지금 {{ timestamp }} - {{ timestamp|date:"d M Y" }}의 결과는 페이지를로드 할 때 1317945600 -입니다.

내가 뭘 잘못하고 있을지에 대한 제안이 있으십니까?

답변

5

문제는 날짜가 타임 스탬프를 원하지 않는다는 것입니다. 날짜/시간 개체가 필요합니다. 파이썬에서 타임 스탬프를 파싱하거나 templatetag를 만들어야합니다.

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 '' 

그런 templatetags/mytags.py이 추가와 함께 사용

{{ some_timestamp_value|timestamp|date:"format..." }} 
관련 문제