根据 Nunjucks文档,
包含不是在渲染之前将包含的模板代码拉入包含模板的预处理器;相反,它会触发包含模板的单独渲染,并且包含该渲染的结果。
如果你真的想要一个“在渲染之前将包含的模板代码拉入包含模板的预处理器”,那在 Nunjucks/Jinja 中会是什么?
实际示例是:两个部分具有相同的变量set
。我们决定将其干燥,将这些set
语句放入部分中并通过include
. 使用include
这些变量时超出范围。
部分配置.nunjucks:
{% set var = 'x' %}
部分1.nunjucks:
{% include "partial-config.nunjucks" %}
var={{ var }}
partial2.nunjucks:
{% include "partial-config.nunjucks" %}
var={{ var }}
挑战:上面部分中的变量var
是空白的。我希望在渲染之前将它设置在每个部分的范围内,就好像它只是字符串片段一样,没有额外的范围等。