jinja2 中的多行变量

Mulitiline Variable in jinja2

我正在尝试 read/store jinja2 中的多行变量。但是,它没有得到很好的解析,我在角色之间得到了很多分界线和 space 。如果 ca 收到如何解决它的提示,那就太好了。 代码如下所示:

>    certificate: |-
>{% for line in certificate %}
>          {{ line }}
>{% endfor %}
>
>{% if destinationCACertificate is defined %}
>        destinationCACertificate: |-
>{% for line in destinationCACertificate %}
>          {{ line }}
>{% endfor %}
>{% endif %}

我想得到这样的东西:

certificate: |-
      -----BEGIN CERTIFICATE-----
      MIIM1TCCCr2gAwIBAgITGAAAH6w6I7/Kn4g5bwAAAAAfrDANBgkqhkiG9w0BAQsF
      ADBtMQswCQYDVQQGEwJERTEaMBgGA1UEBwwRRnJhbmtmdXJ0IGFtIE1haW4xFzAV

该行在这里被视为一个字符。应该添加 split 函数,告诉 jinja 考虑仍然找到断线 ('\n') 的行。

所以它应该是这样的:

 certificate: |-
    >    {% for line in certificate.split('\n') %}
    >    {{ line }}
    >    {% endfor %}
    >    {% endif %}
    >    {% if destinationCACertificate is defined %}
    >    destinationCACertificate: |-
    >    {% for line in destinationCACertificate.split('\n') %}
    >    {{ line }}
    >    {% endfor %}
    >    {% endif %}

例如,如果有人可能对如何在 Javascript 中设置多行变量感兴趣,请将其张贴在这里;

var myData = `{{ multiline_string }}`

作为反引号 (`) 字符开始和结束多行字符串。这至少适用于我的用例