본문 바로가기
파이썬

파이썬 jinja2에서 for 루프를 어떻게 끊을 수 있습니까?

by º기록 2020. 12. 21.
반응형

jinja2에서 for 루프를 어떻게 해제 할 수 있습니까?

내 코드는 다음과 같습니다.


이 조건이있는 페이지가 두 개 이상 있고 조건이 충족되면 루프를 종료하고 싶습니다.

 

해결 방법

 


Python과 달리 루프에서 중단하거나 계속할 수 없습니다. 그러나 반복 중에 시퀀스를 필터링하여 항목을 건너 뛸 수 있습니다. 다음 예에서는 숨겨진 모든 사용자를 건너 뜁니다.

{% for user in users if not user.hidden %}
    <li>{{ user.username|e }}</li>
{% endfor %}

그러나 귀하의 경우에는 첫 번째 요소 만 필요한 것으로 보입니다. 첫 번째를 필터링하고 선택하십시오.

{{ (pages|selectattr('tags.foo', 'eq', bar)|first).title }}


selectattr () 필터는 반복자를 생성하므로 여기서 first 를 사용하면 첫 번째 일치하는 요소까지만 입력을 반복하고 더 이상 반복하지 않습니다.

 

참조 페이지 https://stackoverflow.com/questions/22150273

 

 

반응형

댓글