如果在一行中定义另一个变量,如何设置变量?

时间:2016-07-19 21:30:59

标签: django jinja2

我正在使用此代码设置变量,然后检查此变量是否为1:

{% if pillar['setup_user'] is defined %}
{% set var_setup_user = pillar['setup_user'] %}
{% else %}
{% set var_setup_user = 1 %}
{% endif %}

{% if var_setup_user == 1 %}
setup-user:
  cmd.run:
    - name: |
        ...

    - shell: /bin/bash
    - user: root
{% endif %}

有没有办法在一行或两行中检查这个?

谢谢

2 个答案:

答案 0 :(得分:2)

{% set var_setup_user = pillar['setup_user']|d(1) %}

ddefault过滤器的别名。

答案 1 :(得分:1)

普通的三元运算符是否有效?

{% set var_setup_user = pillar['setup_user'] if pillar['setup_user'] is defined else 1 %}