2011-12-20 2 views
1

긴 이야기 짧음 for 루프 내에서 obj 값을 사용자 정의 템플릿 태그로 가져 오는 방법이 있는지 궁금합니다.templatetag에서 for 루프 내의 Django 템플릿 액세스 값

나는 현재

{% for OBJ in OBJ_LIST %} 
{% TAG 'string_value' OBJ %} 
{% endfor %} 

트릭 내가 얻을 수있다이 'OBJ'

하는 for 루프 내에서 변수를 등록하지 않습니다 중 하나

obj = template.Variable(objname) 
obj = template.resolve_variable(objname, context) 

를 실행할 때

궁금한 점이 있습니까?

+0

명확히하기 위해 루프 바깥 쪽을 당겨 보면 작동하나요? –

+0

네, 문맥에서 선언 된 var가있을 때 잘 작동합니다. 단지 var의 이름을 전달하므로 'modelInstance'와 ModelInstance의 문자열을 얻을 수 있습니다. 객체 팩을 둘러 보는 간단한 방법을 생각해보십시오. 그것을 지키려고 노력했다. DRY – Alvin

+0

몇 시간 동안 잠을 자면 코드를 검토하고 문제가 발생한 부분을 잘 모르는 상태에서 문제를 해결할 수 있었다. – Alvin

답변

3

예, 방법이 있습니다. 제 태그는 루프에서 잘 작동합니다. 거기에 템플릿 태그 어딘가에 오류가 있다고 생각합니다. 하지만 디버깅 대신 기존 프레임 워크를 사용하여 템플릿 태그 (this 또는 this 또는 다른 태그)를 만드는 것이 좋습니다. 건조하고 잘 테스트 될 것이므로 그러한 오류를 만들 수 없습니다.

+1

태그는 for 루프 외부에서 완벽하게 작동합니다. 문맥에 선언되지 않은 새 var 인 경우에는 아무 것도 표시되지 않지만 내가 게시 한 링크는 제공 한 것입니다. 감사합니다. – Alvin

+1

@DrTyrsa 나는 그 존재를 알지 못했다 .. 시원한 콩 –

+0

@yugi 부분은 시원한 콩을 사용하기 위해 당신의 의견을 upvote하고 싶다. 그러나 나는 또한 동의한다. –

관련 문제