2014-02-26 3 views
0

템플릿에 "추가"필터를 연결하는 방법은 무엇입니까?django : 템플릿에 필터 추가하기

이 작동하지 않습니다는 아무것도 표시되지 않습니다 : 하나의 추가를 가진

{% with obj_ids=obj1.pk|add:"-"|add:obj2.pk %} 
    <td>{{ obj_ids}}</td> 
{% endwith %} 

동안 작동합니다

{% with obj_ids=obj1.pk|add:obj2.pk %} 
    <td>{{ obj_ids}}</td> 
{% endwith %} 

감사

+0

이것은 가능하지 않을 수 있습니다. 템플릿 대신 뷰 자체에서 수행하는 것이 좋습니다. 어떤 경우라도 솔루션을 볼 수 있기를 기대합니다. – Mutant

답변

0

하나가 작동하는 경우, 너무 일을해야이 옆 널빤지와 포장 ?

{% with obj_ids=obj1.pk|add:"-" %} 
    {% with obj_ids_2=obj_ids|add:obj2.pk %} 
     <td>{{ obj_ids_2 }}</td> 
    {% endwith %} 
{% endwith %} 

이런 종류의 것이 내가 장고의 템플릿을 통해 Jinja를 즐기는 이유입니다. 관을 설치하면 다음을 수행 할 수 있습니다.

{{ '%s-%s' % (obj1.pk, obj2.pk) }} 
{{ '-'|join([obj1.pk, obj2.pk]) }} 

훨씬 더 읽기 쉽고 뷰/템플리트와 계속 분리됩니다.

0

오른쪽으로, Jinja는 이런 종류의 것들을 더 잘 보입니다.

한편 사용자 지정 필터를 만들었지 만 * args를 사용하여 여러 가지 인수로 작동하지 못하게하므로 두 번 호출해야합니다.

@register.filter(name='concat') 
def concat(value, arg): 
    return '{}{}'.format(value, arg)