2012-11-08 1 views
5

django-tables2를 사용하여 내 테이블을 생성하고 있습니다. 하나의 열에있는 각 셀()에 템플릿 태그를 적용해야합니다. 템플릿 태그를 하나의 열에 적용하기 위해 커스텀 테이블 레이아웃을 만들고 작성하는 데는 많은 노력이 필요합니다. django-tables2에서이 작업을 수행 할 수있는 방법이 있습니까?django-tables2를 사용할 때 <td>에 템플릿 태그를 적용 할 수 있습니까?

업데이트 :

내가 뭘 찾고 있는지 설명하지 않았을 수 있습니다. 그게 효과가 있다고 나는 믿지 않는다.

내 코드 :

class CombineTable(tables.Table): 
    build_no = tables.LinkColumn('run', args=[A('release'), A('id')], verbose_name="Build") 
    flavor = tables.Column(verbose_name="Flavor") 
    pass_rate_pct = tables.Column(verbose_name="Image Pass Rate") 

나는 pass_rate_color 다음 pass_rate_pct의 출력이 무엇인지에 따라 특정 스타일을 출력 클래스()에서 템플릿 태그를 {{pass_rate_color}} 사용 pass_rate_pct의 각을 원한다.

답변

1

django_tables2이 있습니다. django_tables2/templates/django_tables2/table.html 사본을 가져 와서 이름을 변경합니다. table_pass_rate.html 라인 (29)에 태그를 입력 :

{% pass_rate_color cell %} 

지금 테이블 사용을 생성 :

{% render_table table "table_pass_rate.html" %} 

tags의 django_tables2 코드와 추가 정보를위한 template를 참조하십시오.

+0

이것은 내가 어떻게 돌아 갔는지에 대한 것입니다. 그러나 if 문을 사용하여 특정 열의 pass_rate_color 만 수행해야했습니다. 감사. – cjohnston

0

Table.render_FOO 메서드를 재정의하십시오. 여기서 foo는 열 이름 인 입니다. 열 값을 인수로 사용하는 사용자 지정 템플릿 태그를 작성했다고 가정합니다. 예를 들어 : 당신이 당신의 테이블을 출력하는 대신 사용자 지정 서식을 지정하는

import django_tables2 as tables 

class SimpleTable(tables.Table): 
    custom_row = tables.Column() 
    id = tables.Column() 
    age = tables.Column() 

    def render_custom_row(self, value): 
     return '{% pass_rate_color %s %}' % value 
+0

위의 질문을 편집했습니다. – cjohnston

+0

사용자 정의 템플릿 태그 작성시 https://docs.djangoproject.com/en/dev/howto/custom-template-tags/ –

+0

을 참조하십시오. templatetag가 이미 있습니다. 나는 tables.py를 통해 그것을 전달하는 방법을 알아 내려고하고있다. 현재는 실제로 실행되는 templatetag가 아니라 일반 텍스트로 소스에 표시된다. – cjohnston