如何修改/合并 Jinja2 词典? [英] How can I modify/merge Jinja2 dictionaries?

查看:18
本文介绍了如何修改/合并 Jinja2 词典?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 Jinja2 字典,我想要一个修改它的表达式 - 要么改变它的内容,要么与另一个字典合并.

<预><代码>>>>进口jinja2>>>e = jinja2.Environment()

修改字典:失败.

<预><代码>>>>e.from_string("{{ x[4]=5 }}").render({'x':{1:2,2:3}})回溯(最近一次调用最后一次):文件<stdin>",第 1 行,在 <module> 中文件jinja2/environment.py",第 743 行,在 from_string 中返回 cls.from_code(self, self.compile(source), globals, None)编译中的文件jinja2/environment.py",第 469 行self.handle_exception(exc_info, source_hint=source)文件<unknown>",第 1 行,在模板中jinja2.exceptions.TemplateSyntaxError:预期令牌'打印语句结束',得到'='

两阶段更新:打印多余的无".

<预><代码>>>>e.from_string("{{ x.update({4:5}) }} {{ x }}").render({'x':{1:2,2:3}})u'无 {1: 2, 2: 3, 4: 5}'>>>e.from_string("{{ dict(x.items()+ {3:4}.items()) }}").render({'x':{1:2,2:3}})回溯(最近一次调用最后一次):文件<stdin>",第 1 行,在 <module> 中文件jinja2/environment.py",第 868 行,在渲染中返回 self.environment.handle_exception(exc_info, True)顶级模板代码中的文件