【问题标题】:Why does Jinja2 render the string "on" to boolean True?为什么 Jinja2 将字符串“on”渲染为布尔 True?
【发布时间】:2022-07-09 22:06:00
【问题描述】:

我将 Jinja2 与 YAML 一起使用并具有以下结构:

{%- set example = [ (20, "on"), (40, "off")] %}

- name: example_yaml
    loop:
      {%- for value, state in example %}
        - TheNumber: {{ value }}
          TheState: {{ state }}
      {%- endfor %}

当第一个循环被渲染时,TheNumber20 是正确的,但TheState 最终是True。我查看了文档并尝试添加这样的字符串过滤器:

{{ state | string }} 

但这也不起作用。我还尝试将字符串 "on" 切换为 "StateShouldBeOn" 之类的其他字符串,以进行测试。这样我就得到了我所期望的TheState = "StateShouldBeOn"

我的问题是,为什么“on”会呈现为布尔值?

【问题讨论】:

    标签: yaml jinja2


    【解决方案1】:

    尝试使用“on”而不是“on”。这应该会有所帮助。

    【讨论】:

      猜你喜欢
      • 2020-03-08
      • 2011-12-28
      • 2011-04-27
      • 2016-02-27
      • 1970-01-01
      • 1970-01-01
      • 2016-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多