如何在单个 .yaml 文件中设置 yaml 引用



我继承了大量包含如下属性的 .yaml 文件:

our_price: Our price is just <sup>$</sup><span class="amount">99.95</span> this month

现在,客户希望能够接受our_price,添加一些税费,并在 jinja 模板中显示总价。

我想做的是添加一个新属性,所以它看起来像这样:

simple_price: 99.95
our_price: Our price is just <sup>$</sup><span class="amount">simple_price</span> this month

我尝试使用别名,但似乎它们只能用作节点的整个值。

有没有办法在 YAML 中设置它,或者有办法从 jinja2 中的our_price字符串中只拉出浮点数?

虽然我对 jinja 一无所知,但我认为你的问题在概念上与这个 StackOverflow 问题相似。

简短的回答是,您不能按照您/您的客户想要的方式在 YAML 中进行字符串插值。 我相信您必须将simple_price值从视图文件(或 jinja 等效项)传递给 our_price 值,并将 YAML 条目更改为如下所示的内容:

simple_price: 99.95
our_price: Our price is just <sup>$</sup><span class="amount">%{simple_price}</span>

或者,使用别名和锚点,您可以将价格和字符串作为数组返回到视图中,然后将它们合并为单个字符串:

simple_price: &simple_price <sup>$</sup><span class="amount">99.95</span>
our_price: 
  - Our price is just
  - *simple_price

最新更新