Jinja: рдмреВрд▓ рдЯреВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдлрд┐рд▓реНрдЯрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рдЕрдЧре░ 2018  ┬╖  14рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: pallets/jinja

рдЕрдкреЗрдХреНрд╖рд┐рддреН рд╡реНрдпрд╡рд╣рд╛рд░

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

рдЖрдкрдХрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг

  • рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг: 2.7
  • рдЬрд┐рдВрдЬрд╛ рд╕рдВрд╕реНрдХрд░рдг: рдЬрд┐рдиреНрдЬрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ, Ansible 2.5.4 . рд╣реИ

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

{{ (some_var|length > 0) | string | lower }}

рдЕрдзрд┐рдХ рдкрдардиреАрдп, рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдпрд╣ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ

рд╕рднреА 14 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

(6>0)|... рдпрд╛ рдЗрд╕рд╕реЗ рднреА рдмреЗрд╣рддрд░ рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ, рдПрдХ рд╢рд╛рдмреНрджрд┐рдХ рдмреВрд▓рд┐рдпрди рдЬреИрд╕реЗ true|... рдпрд╛ false|...

рд╣рд╛рдБ, (6>0)|... рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХреНрдпреЛрдВ рдмрдВрдж рд╣реИ?

рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдмрд╕ рдСрдкрд░реЗрдЯрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИред рдХреЛрд╖реНрдардХ рдХреЗ рдмрд┐рдирд╛ рдЖрдкрдХрд╛ рдХреЛрдб рд╕рдВрднрд╡рддрдГ 6 > (0|string) рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рдерд╛, рдЬрд┐рд╕рдХрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдЬреИрд╕реЗ рдХрд┐ 6 > '5'|int рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рди рддреЛ рдПрдХ рдмрдЧ рд╣реИ рдФрд░ рди рд╣реА рдЕрдирдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред

рдпреВрдирд┐рдХреНрд╕/рд▓рд┐рдирдХреНрд╕ рджреБрдирд┐рдпрд╛ рд╕реЗ рдЖ рд░рд╣рд╛ рд╣реИ рдЬрд╣рд╛рдВ | рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реАрдорд╛рдВрдХрдХ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдпрд╣ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд▓рд╛рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп 6 > ('5'|int) рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ рдЕрд╕рд╣рдордд рд╣реВрдВ, рдФрд░ рдпрд╣ рднреА рдПрдХ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рддреЛрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рдмрджрд▓рд╛рд╡ рд╣реЛрдЧрд╛ред

рдХреНрдпрд╛ рд╣рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдЪреЗрддрд╛рд╡рдиреА рдорд┐рд▓ рд╕рдХрддреА рд╣реИ?

рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓рд╛ рдЬрд╛рд╡рд╛ рдмреВрд▓рд┐рдпрди рдЧреБрдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрддреНрддрд░рджрд╛рдпреА рдЯреЗрдореНрдкрд▓реЗрдЯрд┐рдВрдЧ рд╣реИ:
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 }}

рдЕрдзрд┐рдХ рдкрдардиреАрдп, рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдпрд╣ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ

рдареАрдХ рд╣реИ, рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдкрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рдЬрд┐рдВрдЬрд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕реЗ рд╡реИрд╕реЗ рд╣реА рдкрдврд╝рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдЖрдк рдкрдврд╝рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЙрдкрд░реЛрдХреНрдд рдЧреИрд░-рдХрд╛рдордХрд╛рдЬреА рдЙрджрд╛рд╣рд░рдг рдХрд╛ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╣рд┐рд╕реНрд╕рд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рдЪреБрдкрдЪрд╛рдк False рджреЗрддрд╛ рд╣реИред

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдпрдерди рдЗрд╕рд╕реЗ рдЦреБрд╢ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрд┐рдиреНрдЬрд╛ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ > рдХреЗ рдмреАрдЪ int рдФрд░ string рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ?

рдХреГрдкрдпрд╛ $ |lenght > 0 рдХреЗ рдмрдЬрд╛рдп рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП |is_empty рдлрд╝рд┐рд▓реНрдЯрд░ рдкрд░ рдЕрдкрдиреА рд░рд╛рдп рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред

рд╡реИрд╕реЗ рднреА, рдЖрдкрдХреА рддреНрд╡рд░рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЖрдкрдХрд╛ рд╕рдкреНрддрд╛рд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛред

Ansible рдЗрд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдареАрдХ рд╡реИрд╕реЗ рд╣реА рдЬреИрд╕реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ |bool рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдерд╛ рдЬреЛ рдХрд┐ рдЬрд┐рдиреНрдЬрд╛ рдХрд╛ рднреА рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдпрдерди рдЗрд╕рд╕реЗ рдЦреБрд╢ рд╣реИ рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрд┐рдиреНрдЬрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдореЗрдВ int рдФрд░ string рдХреЗ рдмреАрдЪ > рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдЪреЗрддрд╛рд╡рдиреА рдЬрд╛рд░реА рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ?

рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпрд╣ рдкрд╛рдпрдерди 3 рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЗрд╕ рддрд░рд╣ рдХреА рддреБрд▓рдирд╛ рдХреБрдЫ рд╣рдж рддрдХ рдмреЗрдХрд╛рд░ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╕рд╛рде рдЪреБрдкрдЪрд╛рдк рд╕рдлрд▓ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЬреЛрд░ рд╕реЗ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред рдЬрд┐рдВрдЬрд╛ рдЯрд╛рдЗрдк рдЪреЗрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рд┐рд░реНрдл рджреЛ рдСрдкрд░реЗрдВрдб рдХреЛ рдкрд╛рдпрдерди рдореЗрдВ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ (рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╢рд╛рдпрдж рдпрд╣ рдЗрд╕рдХреЗ рд▓рд┐рдП operator.gt(a, b) рдХрд╣рддрд╛ рд╣реИ)

рдЬрд╛рдирдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛, рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

mitsuhiko picture mitsuhiko  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jp-costa picture jp-costa  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

navilan picture navilan  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

AMDmi3 picture AMDmi3  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

priestc picture priestc  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ