2013-10-24 4 views
1

로 LinkColumn 포맷하는 방법 : 친절한 간단한 날짜 시간 형식내가 가진 모델이 DateTimeColumn

start_time = models.DateTimeField() 
end_time = models.DateTimeField() 

내가 사용했습니다 장고 - 테이블 2 그들은 모두 형식을.

은 지금은 사용 링크로 테이블 클래스에 START_TIME을 변경

start_time = tables.LinkColumn('desturl', args[A('pk')]) 

을 그리고 지금은 시간대 데이터로 더 이상 비우호적 날짜로 포맷입니다.

서식에 LinkColumn과 DateTimeColumn을 모두 사용 했습니까? 나는 문서에서 아무것도 발견 할 수 없다.

답변

0

당신은 URL로 데이터의 형식을 날짜 필드로 열을 유지하고 예를 들면 URL과 날짜, 렌더링하는 render_foo method를 사용하려는 경우,이 도움이

render_start_time(self,value): 
    mark_safe('<a href="some_url">%s</a>' % value) 

희망을

David

0

테이블과 필드간에 재사용하는 것이 좋으므로 사용자 지정 열을 사용하는 것이 좋습니다. 예를 들어, 서브 클래스 DateTimeColumn과 BaselinkColumn.render_link를 호출 링크를 추가

from django_tables2.columns.linkcolumn import BaseLinkColumn 

class LinkedDateTimeColumn(tables.DateTimeColumn): 
    def __init__(self, viewname, *args, **kwargs): 
     self.viewname = viewname 
     super(LinkedDateTimeColumn, self).__init__(*args, **kwargs) 

    def render(self, *args, **kwargs): 
     ts = super(LinkedDateTimeColumn, self).render(*args, **kwargs) 
     view = reverse(self.viewname, args=[kwargs["record"].slug]) 
     return BaseLinkColumn().render_link(view, ts) 

# in your tables 
timestamp = LinkedDateTimeColumn('your_view_name', "d.m.Y H:i") 

나는 URL을 찾기위한 분야를 하드 코딩했습니다에 "슬러그"내 모든 모델을 사용하지만, 당신이 쉽게 할 수 있기 때문에 "pk"로 변경하거나 인수로 추가하십시오. 마찬가지로 LinkColumn에 전달할 수있는 모든 선택적 인수가 여기에 누락되었습니다. 필요한 것을 다시 추가하십시오.