【问题标题】:How do you embed variable in a variable in Jinja2?如何在 Jinja2 的变量中嵌入变量?
【发布时间】:2015-10-02 09:53:32
【问题描述】:

我将一个名为“key”的值传递给我的 jinja2 模板。 “Key”是一个类似于“user_id”或“birthdate”的字符串。 “key”也是一个字典键。您可以像 jinja2 中的 {{key}} 一样访问它。但是,我想访问字典中“键”的值。 “item”是一个字典数组。我想做类似 {{item.{{key}}}} 的事情,但这不是正确的语法。我该怎么做?

【问题讨论】:

  • 应该是{{ var_name_you_pass.key_which_you_want }}
  • 这会给我字符串文字

标签: jinja2


【解决方案1】:

假设 item 是一个列表,您应该访问您想要的列表中的偏移量(例如,如果您想要 x 的偏移量,请使用 item[x]),这将是一个字典。此时您可以使用字典 .get() 语法:

item[x].get(key)

【讨论】:

  • 我认为 jinja2 中不存在这种语法。
  • 哪种语法?我认为列表偏移量可以,但您可能必须使用双花括号,例如:{{item[x].get(key)}}。列表访问可能有问题,但.get肯定存在。
  • 这里是使用 Jinja2==2.7.2 从 python 2.7.9 复制和粘贴: >>> jinja2.Template("{{x[1].get('foo')}}" ).render(x=[{'foo': 'baz'}, {'foo': 'bar'}]) u'bar'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-08
  • 2015-12-08
  • 2017-04-13
  • 1970-01-01
  • 1970-01-01
  • 2019-07-08
  • 2016-01-03
相关资源
最近更新 更多