【发布时间】:2021-03-17 18:11:27
【问题描述】:
有没有办法重载 jinja 评估所有变量表达式的方式?
我想更改模板系统评估所有变量的方式,在{{ variable }} 表达式和{% if variable %} 类型语句中(我想让它以特定方式从特定位置加载它们,通过名称)。
例如,如果有人将{{ this.is.a.test }} 放入模板中,我想使用 jmespath (https://github.com/jmespath/jmespath.py) 从上下文中的已知字典中加载变量,而不是使用普通路由。它会从这本词典中选择“你好”:
{
"this": {
"is": {
"a": {
"test": "hello"
}
}
}
}
这也将评估为 true:{% if this.is.a.test == "hello" %}
这是可能的吗?
【问题讨论】:
-
我不明白这个问题......但听起来你可能想要 jinja2 模板中的
import指令 -
@JoranBeasley no...更新了问题。希望这会有所帮助