• 회원가입
  • 로그인
  • 구글아이디로 로그인

[filters] Jinja - default() 필터 / d() 필터 - 변수가 정의 안 된 경우 기본값 출력. (= default필터 = 디폴트필터 = d필터 = 디필터)

목차
  1. default() 예제 - 변수가 정의 안 된 경우 지정 기본값 출력
  2. default() 정의
  3. default() 구문
  4. default() 예제 - 값이 false로 평가되는 경우, 기본값 표시

 

default() 예제 - 변수가 정의 안 된 경우 지정 기본값 출력

[예제1] - 변수가 정의 X 된 경우

{{ value | default('정의 X') }}

 

결과값: 정의 X


[예제2] - 변수가 정의 O 된 경우

 

{% set value = "Homzzang.com" %}

{{ value | default('정의 X') }}

 

결과값: Homzzang.com

 

default() 정의

 

값이 정의 안 된 경우 지정 기본값 반환하고, 그렇지 않으면 변수의 값을 반환하는 필터.

 


 

1.

  • 두 번째 매개변수 boolean 값을 true로 설정하면 값이 false인 경우엔 기본값을 출력함.

 

2.

  • Jinja 2.11 - 이제 UndefinedError 발생시키지 않고 체인에 정의되지 않은 값을 포함할 수 있는 중첩된 요소 및 속성에 대해 default필터가 작동하도록 ChainableUndefine으로 Environment 구성 가능.

 

3. 공식 매뉴얼

https://jinja.palletsprojects.com/en/3.1.x/templates/#jinja-filters.default

 

 

default() 구문

 

jinja-filters.default(value: V, default_value: V = '', boolean: bool = False) → V

 


[매개변수]

 

value: V

필수. 이 필터를 적용할 값.

 

default_value: V = ''

선택. 기본값 지정.

 

boolean: bool = False

선택. false로 평가되는 변수에 기본값을 사용하려면, true로 설정.

 


[반환값]

 

  • boolean 매개변수가 false인 경우, 값이 정의 안 된 경우 지정 기본값 출력하고 그렇지 않으면 변수의 값을 출력.
  • boolean 매개변수가 true인 경우, 값이 false인 경우 지정 기본값 출력하고, 그렇지 않으면 변수의 값을 출력.

 

 

default() 예제 - 값이 false로 평가되는 경우, 기본값 표시

 

{{ ''|default('정의 X', true) }}

 

결과값: 정의 X



분류 제목
sandbox Jinja - 샌드박스 - 보안 고려 사항 (Sandbox - Security Considerations)
sandbox Jinja - 샌드박스 - API (Sandbox - API)
sandbox Jinja - 샌드박스 - 연산자 가로채기 (Sandbox - Operator Intercepting)
python_types Jinja - 고유 파이썬 타입 - 예제들 (Native Python Types - Examples)
python_types Jinja - 고유 파이썬 타입 - API (Native Python Types - API)
template Jinja - 템플릿 - 개요 / 템플릿파일확장자 (Template - Synopsis / Template …
template Jinja - 템플릿 - 변수 (Template - Variables)
template Jinja - 템플릿 - 필터 (Template - Filters)
template Jinja - 템플릿 - 테스트 (Template - Tests)
template Jinja - 템플릿 - 주석 (Template - Comments)
template Jinja - 템플릿 - 공백 제어 ★ (Template - Whitespace Control)
template Jinja - 템플릿 - 회피처리 (Template - Escaping) ※ 진자 템플릿 코드를 문자 그대로…
template Jinja - 템플릿 - 라인 구문 (Template - Line Statements) ※ 약식 코드
template Jinja - 템플릿 - 템플릿 상속 ★★★ (Template - Template Inheritance)
template Jinja - 템플릿 - HTML 회피 (Template - HTML Escaping) ※ e필터 = 이필터
template Jinja - 템플릿 - 제어 구조 목록 ★★★ (Template - List of Control Struc…
template Jinja - 템플릿 - 컨텍스트 동작 가져오기 (Template - Import Context Behavi…
template Jinja - 템플릿 - 표현식 ★ (Template - Expressions) ※ (자료형/연산자/기호/키…
template Jinja - 템플릿 - 내장필터 목록 (Template - List of Builtin Filters)
template Jinja - 템플릿 - 내장테스트 목록 (Template - List of Builtin Tests)
2/9
목록
찾아주셔서 감사합니다. Since 2012