Jinja2通过其他变量定义变量以重用以进行渲染

时间:2018-10-11 07:12:56

标签: python jinja2 templating

我有一个要用作模板的YAML文件。 假设有一个字段s3_path。 我想这样模版:

s3_path: {{ composite_path }}

我想定义用于在单独文件中呈现的值。 例如variables.yaml

composite_path: s3://my_bucket/path_in_bucket/

但是,我想在variables.yaml中定义和重用变量,如下所示:

prefix: s3://
bucket: my_bucket
suffix: path_in_bucket
composite_path: {{ prefix }}{{ bucket }}/{{ suffix }}

是否可以创建此类文件,加载该文件,创建所有替换文件并使用生成的字典以s3_path呈现模板文件? 除了从YAML文件中加载值或使用jinja2,我甚至欢迎其他方法。

我知道我可以像这样为s3_path做模板

s3_path: {{ prefix }}{{ bucket }}/{{ suffix }}

但是,如果我打算在整个配置文件中使用相同的s3_path,我只想更改composite_path变量,而不要更改其所有三个部分。

0 个答案:

没有答案