目的是检查变量是否为整数,如果是,则插入hello.
尝试
{% if int(variable) %} hello {% endif %}
结果
'int' is undefined"
小智.. 10
对于任何使用Salt的人来说,当放入saltstack状态时,这对我来说不起作用.
{% if variable|number %} hello {% endif %}
这确实有效:
{% if variable is number %} hello {% endif %}
abigperson.. 6
int
内置过滤器(它将尝试将值转换为int):您需要使用过滤器格式,如下所示:
{% if variable|int != 0 %} hello {% endif %}
默认情况下,如果强制转换为int失败,它将返回0,但是您可以通过将其他默认值指定为第一个参数来更改此值。在这里,对于0可能是有效值的情况,我将其更改为-1 variable
。
{% if variable|int(-1) != -1 %} hello {% endif %}
请参阅:Jinja2 Docs-内置内置过滤器以获取更多信息
number
内置测试(如果变量已经是数字,则返回true):更好的解决方案int
是使用内建测试number
,而不是使用过滤器(后者会将类似字符串的整数转换为int):
{% if variable is number %} hello {% endif %}
请参阅:Jinja2文件-数字内置测试
对于任何使用Salt的人来说,当放入saltstack状态时,这对我来说不起作用.
{% if variable|number %} hello {% endif %}
这确实有效:
{% if variable is number %} hello {% endif %}
int
内置过滤器(它将尝试将值转换为int):您需要使用过滤器格式,如下所示:
{% if variable|int != 0 %} hello {% endif %}
默认情况下,如果强制转换为int失败,它将返回0,但是您可以通过将其他默认值指定为第一个参数来更改此值。在这里,对于0可能是有效值的情况,我将其更改为-1 variable
。
{% if variable|int(-1) != -1 %} hello {% endif %}
请参阅:Jinja2 Docs-内置内置过滤器以获取更多信息
number
内置测试(如果变量已经是数字,则返回true):更好的解决方案int
是使用内建测试number
,而不是使用过滤器(后者会将类似字符串的整数转换为int):
{% if variable is number %} hello {% endif %}
请参阅:Jinja2文件-数字内置测试