Nunjucks 嵌套变量
Nunjucks nested variables
Nunjucks 中可以嵌套变量吗?我需要能够在我的数据库中存储一个包含 Nunjucks 变量的字符串,但它似乎不起作用。这是我需要能够执行的操作的示例:
dict = {
name: 'John',
lastname: 'Smith',
greeting: 'Hello, my name is {{ name }} {{ lastname }}'
}
然后就能做到
<span>{{greeting}}</span>
但它输出这个:
'Hello, my name is {{ name }} {{ lastname }}'
我需要这种方式的原因是因为我有一个数据库,其中包含一些带有漏洞的描述模板,并且我有一个包含值的数据库,我需要能够将它们组合起来。但它并不总是相同的值,所以我不能对它们进行硬编码。
最简单的方法是添加 global
或 filter
var nunjucks = require('nunjucks');
var env = nunjucks.configure();
env.addFilter('render', function(text) {
return nunjucks.renderString(text, this.ctx);
});
var res = nunjucks.renderString(
'name: {{name}}, greeting: {{greeting | render}}',
{
name: 'John',
greeting: 'Hello {{name}}'
}
);
console.log(res);
Nunjucks 中可以嵌套变量吗?我需要能够在我的数据库中存储一个包含 Nunjucks 变量的字符串,但它似乎不起作用。这是我需要能够执行的操作的示例:
dict = {
name: 'John',
lastname: 'Smith',
greeting: 'Hello, my name is {{ name }} {{ lastname }}'
}
然后就能做到
<span>{{greeting}}</span>
但它输出这个:
'Hello, my name is {{ name }} {{ lastname }}'
我需要这种方式的原因是因为我有一个数据库,其中包含一些带有漏洞的描述模板,并且我有一个包含值的数据库,我需要能够将它们组合起来。但它并不总是相同的值,所以我不能对它们进行硬编码。
最简单的方法是添加 global
或 filter
var nunjucks = require('nunjucks');
var env = nunjucks.configure();
env.addFilter('render', function(text) {
return nunjucks.renderString(text, this.ctx);
});
var res = nunjucks.renderString(
'name: {{name}}, greeting: {{greeting | render}}',
{
name: 'John',
greeting: 'Hello {{name}}'
}
);
console.log(res);