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 }}`
作为反引号 (`) 字符开始和结束多行字符串。这至少适用于我的用例
我正在尝试 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 }}`
作为反引号 (`) 字符开始和结束多行字符串。这至少适用于我的用例