忽略使用Jinja保留完整代码的错误

时间:2019-04-26 17:31:00

标签: python jinja2

我正在尝试用Python脚本渲染Jinja文件。该文件具有三种类型的说明-

  1. 典型的循环
  2. 导入说明
  3. 从导入中运行宏

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

0 个答案:

没有答案