jinjia2 的渲染模板,在 web 渲染 /ansible 渲染 /helm 渲染都有遇到过这个问题。 当 value 的值是 bool 类型的 false,就会变成了 defalut 过滤器的第二个参数。 是否存在避免这类问题更好的写法,不用去关心 value 的值类型通用的写法。
Hey {{ value|default "there" }}
官方的建议是
Hey {{ value |default("there", true) }},
jinjia2 的渲染模板,在 web 渲染 /ansible 渲染 /helm 渲染都有遇到过这个问题。 当 value 的值是 bool 类型的 false,就会变成了 defalut 过滤器的第二个参数。 是否存在避免这类问题更好的写法,不用去关心 value 的值类型通用的写法。
Hey {{ value|default "there" }}
官方的建议是
Hey {{ value |default("there", true) }},
用if判断就可以解决 找到了,可以这么用
{{- if or .Values.myVar (not (hasKey .Values "myVar")) }}
...
{{- end }}