为什么 Jinja2 将字符串"on"呈现为布尔值 True?



我将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'而不是"在"上";。这应该会有所帮助。

最新更新