gpt4 book ai didi

templates - 在 Jinja 中动态获取变量(从字符串)

转载 作者:行者123 更新时间:2023-12-02 19:58:17 25 4
gpt4 key购买 nike

我的 Jinja 顶级上下文有按顺序定义的变量,如 foo_0foo_1 等。

我希望能够通过使用 "foo_"+ str(0) 等代码生成字符串来动态访问这些变量。

如果有效,我想在 Jinja 模板中执行类似 {{ eval("foo_0") }} 的操作,并按顺序访问这些变量。

这可能吗?

注意:我使用的是我无法控制的云服务(它提供 Jinja 模板),因此:

  • 我无法在 Jinja 上下文中使用数据结构(所有变量值必须是字符串)。
  • 我无法自定义 Jinja 运行时环境或添加过滤器。但了解是否可以通过添加自定义过滤器来解决这个问题将会很有帮助。

最佳答案

我无法找到标准/记录的方法来做到这一点,但通过四处探索:

In [30]: Template("{{ self._TemplateReference__context.resolve('foo_0')  }}").render(foo_0='this_is_foo_0', foo_1='this_is_foo_1')
Out[30]: 'this_is_foo_0'

关于templates - 在 Jinja 中动态获取变量(从字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39358927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com