我有一个 cookiecutter 模板,我想根据一些选项呈现一个 YAML 文件。
举个简单的例子,假设渲染的 YAML 文件可能如下所示:
supported_databases:
- mysql
- postgres
我的 cookiecutter JSON 看起来像这样:
{
"mysql": ["yes", "no"],
"postgres": ["yes", "no"]
}
我的 YAML 文件中将充满if
s 以支持所有 4 种有效组合:
{%- if cookiecutter.mysql == 'yes' or cookiecutter.postgres == 'yes' %}
supported_databases:
{%- if cookiecutter.mysql == 'yes' %}
- mysql
{%- endif %}
{%- if cookiecutter.mysql == 'yes' %}
- postgres
{%- endif %}
{%- endif %}
在两个选项都为“否”的情况下,需要外部if
来防止呈现无效的 YAML。
有没有更简洁的方法来实现这一点?
谢谢你的帮助。