set 컨텍스트 메서드
set 컨텍스트 메서드
set 컨텍스트 메서드는 어떤 iterable을 고유한 iterable 요소들의 시퀀스(집합, set)로 변환할 수 있어요.
출처: 문서
본문
팁 — Jinja의
{% set foo = "bar" ... %}표현식과 혼동하지 마세요. 그건 변수를 정의하는 거랍니다.{% set %}로 SQL 문자열을 만들 때의 예시(그리고{{ }}를 따옴표 문자열 안에 중첩하면 안 되는 이유)는 Don't nest your curlies를 참고해요.
인자(Args):
value: 변환할 iterable(예: 리스트)default:value인자가 유효한 iterable이 아닐 때 반환할 기본값
사용법
{% set my_list = [1, 2, 2, 3] %}
{% set my_set = set(my_list) %}
{% do log(my_set) %} {# {1, 2, 3} #}
{% set my_invalid_iterable = 1234 %}
{% set my_set = set(my_invalid_iterable) %}
{% do log(my_set) %} {# None #}
{% set email_id = "'[email protected]'" %}
set_strict
set_strict 컨텍스트 메서드는 어떤 iterable을 고유한 iterable 요소들의 시퀀스(집합)로 변환할 수 있어요. set 컨텍스트 메서드와의 차이는, set_strict 메서드는 제공된 값이 유효한 iterable이 아니라 집합으로 변환할 수 없을 때 TypeError 예외를 발생시킨다는 거예요.
인자(Args):
value: 변환할 iterable(예: 리스트)
{% set my_list = [1, 2, 2, 3] %}
{% set my_set = set(my_list) %}
{% do log(my_set) %} {# {1, 2, 3} #}
{% set my_invalid_iterable = 1234 %}
{% set my_set = set_strict(my_invalid_iterable) %}
{% do log(my_set) %}
Compilation Error in ... (...)
'int' object is not iterable
더 알아보기 (Learn more)
set은 유효하지 않은 iterable이면None을 반환하고,set_strict는 예외를 던져요.- 관련 개념: var, Jinja
{% set %}문.