bool
λ₯Ό string
λ‘ νν°λ§νλ©΄ κ°κ°μ κ°μ΄ True
λλ False
$μ¬μΌ ν©λλ€.
bool
λ₯Ό string
λ‘ νν°λ§νλ©΄ νμ False
κ° λ©λλ€.
Paste the template code (ideally a minimal example) that causes the issue
'{{6 > 0}}' ==> True
'{{6 > 0|string}}' ==> False
'{{6 > 0|bool}}' ==> True
'{{6 > 0|bool|string}}' ==> False
(6>0)|...
λλ true|...
λλ false|...
μ κ°μ 리ν°λ΄ λΆμΈμ μλνμμμ€.
μ, (6>0)|...
κ° μλν©λλ€. μ΄ λ²κ·Έ λ³΄κ³ μκ° λ«ν μ΄μ λ 무μμ
λκΉ?
λ²κ·Έκ° μλλΌ λ¨μν μ°μ°μ μ°μ μμμ΄κΈ° λλ¬Έμ
λλ€. κ΄νΈκ° μμΌλ©΄ μ½λκ° 6 > (0|string)
λ‘ μ€νλκ³ μμ κ²μ΄λ―λ‘ λΆλͺ
ν λ§μ΄ λμ§ μμ§λ§ 6 > '5'|int
μ κ°μ λ€λ₯Έ μμ
μμλ λ§€μ° μλ―Έκ° μμΌλ―λ‘ μ΄λ λ²κ·Έλ μλνμ§ μμ λμμ΄ μλλλ€.
|
κ° νμ΄νλΌμΈ κ΅¬λΆ κΈ°νΈλ₯Ό λνλ΄λ Unix/Linux μΈκ³μμ μ¨ κ²μ μμμΉ λͺ»ν μΌμ
λλ€.
κ·Έλ° μΊμ€νΈκ° νμν λ λμ 6 > ('5'|int)
μ΄μ΄μΌ νλ€κ³ μκ°ν©λλ€.
λλ λμνμ§ μμΌλ©° μ΄κ²μ λν μμ²λ λ³νλ₯Ό μΌμΌν¬ κ²μ λλ€.
μ°λ¦¬λ μ΅μν κ²½κ³ λ₯Ό λ°μ μ μμ΅λκΉ?
μ΄μ λν μ€μ μ¬μ© μ¬λ‘λ Ansible ν
νλ¦Ώ Java λΆμΈ μμ±μ
λλ€.
isEnabled={{ some_var | length > 0 | string | lower }}
$ isEnabled=True/False
isEnabled=true/false
λ₯Ό μνκΈ° λλ¬Έμ
λλ€.
κ·Έκ²μ isEnabled={{ ((some_var | length) > 0) | string | lower }}
(μ μ΄λ λμκ²λ)λ‘ λ μ½κΈ° μ¬μΈ κ²μ΄λ©° μμλλ‘ μλν κ²μ΄λΌκ³ λ―Ώμ΅λλ€.
{{ (some_var|length > 0) | string | lower }}
λ μ½κΈ° μ½κ³ λ λͺ νν΄μ§λλ€.
κΈμ, λλ μ°λ¦¬κ° κ·Έκ²μ λ€λ₯΄κ² μ½λ κ²μ μκ³ Jinjaλ νμ¬ λΉμ μ΄ μ½λ κ²μ²λΌ κ·Έκ²μ μ½κ³ μμ΅λλ€. κ·Έλ¬λ μμ μλνμ§ μλ μμ μ μ΅μ
μ λΆλΆμ νμ False
μ μ 곡νλ€λ κ²μ
λλ€.
λλ Pythonμ΄ κ·Έκ²μ λ§μ‘±νλ€λ κ²μ μκ³ μμ§λ§ Jinja ν
νλ¦Ώμμ int
μ string
>
λ₯Ό μ¬μ©ν λ κ²½κ³ λ₯Ό λ°ννλ κ²μ΄ μ’μ μκ°μ΄λΌκ³ μκ°νμλκΉ?
λν |lenght > 0
λμ μ¬μ©ν |is_empty
νν°μ λν μ견μ 곡μ ν΄ μ£ΌμΈμ.
μλ¬΄νΌ λΉ λ₯Έ λ΅λ³ κ°μ¬ν©λλ€. μ’μ ν μ£Ό λμΈμ.
Ansibleμ μ΄κ²μ μΆκ°ν μ μμ΅λλ€. κ·Έλ€μ΄ Jinja μ체μ μΌλΆκ° μλ |bool
νλ κ²μ²λΌ.
λλ νμ΄μ¬μ΄ κ·Έκ²μ λ§μ‘±νλ€λ κ²μ μκ³ μμ§λ§ Jinja ν νλ¦Ώμμ intμ string μ¬μ΄μ >λ₯Ό μ¬μ©ν λ κ²½κ³ λ₯Ό λ°ννλ κ²μ΄ μ’μ μκ°μ΄λΌκ³ μκ°ν©λκΉ?
ν
μ€νΈνμ§λ μμμ§λ§ μλ§λ κ·Έλ° λΉκ΅κ° λ€μ μΈλͺ¨μλ κ²°κ³Όλ‘ μ‘°μ©ν μ±κ³΅νλ λμ ν° μλ¦¬λ‘ μ€ν¨νλ Python 3μμ μ€ν¨ν κ²μ
λλ€. Jinjaλ μ ν κ²μ¬λ₯Ό μννμ§ μμΌλ―λ‘ λ κ°μ νΌμ°μ°μλ₯Ό Pythonμ μ λ¬ν©λλ€(μ½λλ₯Ό κ²μ¬νμ§ μμμΌλ©° μλ§λ operator.gt(a, b)
νΈμΆ).
λ°κ°μ΅λλ€. κ°μ¬ν©λλ€.
κ°μ₯ μ μ©ν λκΈ
λ μ½κΈ° μ½κ³ λ λͺ νν΄μ§λλ€.