반응형
jinja python 템플릿에서 쉼표로 구분된 목록을 출력하려면 어떻게 해야 합니까?
리스트가 있으면users
말합니다["Sam", "Bob", "Joe"]
jinja 템플릿파일로 출력할 수 있는 작업을 하고 싶습니다.
{% for user in userlist %}
<a href="/profile/{{ user }}/">{{ user }}</a>
{% if !loop.last %}
,
{% endif %}
{% endfor %}
출력 템플릿을 다음과 같이 만듭니다.
Sam, Bob, Joe
위의 코드가 루프의 마지막 반복에 있는지 확인하고 그렇지 않은 경우 쉼표를 삽입하지 마십시오.이거 어떻게 해?
당신이 원하는 것은if
다음 항목 확인:
{% if not loop.last %}
,
{% endif %}
If Expression을 사용하여 코드를 단축할 수도 있습니다.
{{ ", " if not loop.last else "" }}
내장 필터를 다음과 같이 사용할 수도 있습니다.
{{ users|join(', ') }}
또,joiner
https://jinja.palletsprojects.com/templates/ #sysloger에서
{% set comma = joiner(",") %}
{% for user in userlist %}
{{ comma() }}<a href="/profile/{{ user }}/">{{ user }}</a>
{% endfor %}
정확히 이런 목적으로 만들어졌어요.보통 forloop.last의 join 또는 체크는 하나의 목록에는 충분하지만 여러 그룹의 작업에는 유용합니다.
이 기능을 사용하는 이유에 대한 보다 복잡한 예입니다.
{% set pipe = joiner("|") %}
{% if categories %} {{ pipe() }}
Categories: {{ categories|join(", ") }}
{% endif %}
{% if author %} {{ pipe() }}
Author: {{ author() }}
{% endif %}
{% if can_edit %} {{ pipe() }}
<a href="?action=edit">Edit</a>
{% endif %}
언급URL : https://stackoverflow.com/questions/11974318/how-to-output-a-comma-delimited-list-in-jinja-python-template
반응형
'programing' 카테고리의 다른 글
jQuery를 사용하여 모바일 장치를 검색하는 방법 (0) | 2022.10.31 |
---|---|
Javascript/Node로 작성된 긴 SQL 문을 구성하는 방법 (0) | 2022.10.31 |
iframe의 폭과 높이를 콘텐츠에 맞게 조정 (0) | 2022.10.31 |
JUnit 5에서는 모든 테스트 전에 코드를 실행하는 방법 (0) | 2022.10.31 |
Comparator를 사용하여 커스텀 정렬 순서를 정의하려면 어떻게 해야 합니까? (0) | 2022.10.31 |