반응형
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
반응형
'파이썬' 카테고리의 다른 글
파이썬 pip로 SciPy 설치 (0) | 2020.12.21 |
---|---|
파이썬 Pandas DataFrame에서 쉼표가있는 숫자 문자열을 부동 소수점으로 변환 (0) | 2020.12.21 |
파이썬 urlopen 오류 [Errno 11001] getaddrinfo 실패 (0) | 2020.12.21 |
파이썬 TypeError : length-1 배열 만 NUMPY를 사용하여 Python 스칼라로 변환 할 수 있습니다. (0) | 2020.12.21 |
파이썬 Python의 'in'연산자를 재정의 하시겠습니까? (0) | 2020.12.20 |
댓글