我正在连接一些字符串以构建带有版本和更新变量的 iso 文件名。我的问题是更新,因为要么有一个更新版本,所以文件将包含UpdateX
其中 x 是更新的编号,要么它是初始版本并且名称中没有更新引用。
ISO 名称示例:
- VMware-ESXi-6.7.0-Update2-HPE.iso
- VMware-ESXi-6.7.0-Update1-HPE.iso
- VMware-ESXi-6.7.0-HPE.iso
因此,使用正常的"{% if <cond> %}
...{% else %}
......{% endif %}
' 我知道该怎么做:
esxi_iso: "{% if update %}
VMware-ESXi-{{ version }}-'Update-{{ update }}-HPE.iso
{% else %}
VMware-ESXi-{{ version }}-HPE.iso
{% endif %}"
这行得通。 但我想把它放在一条线上。 而且我不知道如何在内联中提供Update-{{ update }}
作为值,如果......
当然,以下尝试通过我是一个模板错误。
esxi_iso: "VMware-ESXi-{{ version }}-{{ 'Update-{{ update }}' if update else '' }}HPE.iso"
如果else 是 Jinja2 中的一个东西,则内联。
VMware-ESXi-{{ version }}-{{ 'Update-' + update|string if update else '' }}HPE.iso
或者使用format
过滤器。
VMware-ESXi-{{ version }}-{{ 'Update-%s'|format(update) if update else '' }}HPE.iso