我正在尝试用Python脚本渲染Jinja文件。该文件具有三种类型的说明-
1)我只需要将for循环展平。
2)为了解决导入失败的问题,我将forgivingLoader子类化。
3)但是,在调用导入时,我遇到了一些问题。我尝试了两种不同的方法-子类unDefined但{{ abc.callf("arg1", "arg2") }}
被arg1,arg2
取代,因为unDefined不能访问调用函数,只能访问参数。或者,当我使用DebugUndefined(它也将子类定义为UnDefined)时,由于导入静默失败,它无法找到abc.callf
以下是我定位的示例输入和预期输出。有人可以帮我吗?谢谢!
输入:
Starting
{% import "abc.yml" as abc %}
{{ abc.callf("arg1", "arg2") }}
{% set forloopvar = ["var1", "var2"] %}
{% for var in forloopvar %}
{{ var }}here
{% endfor %}
the end
预期输出:
Starting
{% import "abc.yml" as abc %}
{{ abc.callf("arg1", "arg2") }}
var1here
var2here
the end