2014-11-09 3 views
0

STPL에서 사용할 때 중첩 루프에 문제가 있습니다. 여기 중첩 루프 및 단순 템플릿 엔진

template.tpl의 일부입니다

% for item in result: 
    <div class="form-group"> 
     <label for="Label">{{''.join(item)}}</label><br> 
     <p> 
      % for item1 in result1: 
       {{''.join(item1)}} 
      % end 
     </p><br> 
     <input type="text" class="form-control" name="q{{''.join(item)}}"> 
    </div><br><br> 
% end 

문제는 코드의이 부분은 나에게 튜플 결과 1

% for item1 in result1: 
    {{''.join(item1)}} 
% end 

결과에서 모든 요소를 반환한다는 것입니다 및 결과 1은 튜플입니다.

... 
<label>First element from tuple result</label> 
<p>First element from tuple result1</p> 
... 
<label>Second element from tuple result</label> 
<p>Second element from tuple result1</label> 
... 
... 

어떤 아이디어 :) 감사 : SQLite는 3

에서 일 데이터는 내가 그런 일을해야합니다.

답변

1

사용 zipresultresult1에서 함께 해당 항목을 참아 2 튜플의 목록 구축 :

>>> result = [1 ,2, 3] 
>>> result1 = ['a', 'b', 'c'] 
>>> zip(result, result1) 
[(1, 'a'), (2, 'b'), (3, 'c')] 

당신이해야 할을하지만보기에,하지 템플릿에 그. 보기에서 2-tuples을 포함하는 새 목록을 반환 할 수 있습니다. items으로 전화를 걸면됩니다. 템플릿에서 하나의 루프 만 있으면 두 개의 튜플을 별도의 변수로 압축을 풉니 다.

% for label, description in items: 
    <div class="form-group"> 
     <label for="Label">{{''.join(label)}}</label><br> 
     <p>{{''.join(description)}}</p><br> 
     <input type="text" class="form-control" name="q{{''.join(label)}}"> 
    </div><br><br> 
% end