반응형
jinja python 템플릿에서 쉼표로 구분 된 목록을 출력하는 방법은 무엇입니까?
userssay 의 목록이 있으면 ["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 }}
내장 된 "join"필터 ( http://jinja.pocoo.org/docs/templates/#join)를 사용할 수도 있습니다 .
{{ users|join(', ') }}
그리고를 사용 joiner에서 http://jinja.pocoo.org/docs/dev/templates/#joiner
{% set comma = joiner(",") %}
{% for user in userlist %}
{{ comma() }}<a href="/profile/{{ user }}/">{{ user }}</a>
{% endfor %}
이 정확한 목적을 위해 만들어졌습니다. 일반적으로 forloop.last의 결합 또는 검사는 단일 목록으로 충분하지만 여러 그룹의 경우 유용합니다.
사용하는 이유에 대한 더 복잡한 예입니다.
{% 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 %}
반응형
'programing tip' 카테고리의 다른 글
| 편집기에서 줄 바꿈 및 캐리지 리턴 확인 (0) | 2020.06.09 |
|---|---|
| RegExp.exec를 사용하여 문자열에서 모든 일치 항목을 추출하는 RegEx (0) | 2020.06.09 |
| jQuery 유효성 검사 플러그인이있는 부트 스트랩 (0) | 2020.06.09 |
| Android에서 캘린더 일정을 추가하는 방법은 무엇입니까? (0) | 2020.06.09 |
| ASP.NET의 모든 클래스에서 세션 변수에 액세스하는 방법은 무엇입니까? (0) | 2020.06.09 |