使用jinja传递的上下文中的键访问jinja2中dict中的元素

Accessing element in dict in jinja2 with a key in context passed by jinja

所以我有这个数据结构

data ={
    "status": 200,
     "loan_amount": 500,
     "repayment": {
             200: {7: 250, 14:300},
             500: {7: 550, 14: 600}
           }
     }

现在我想在 jinja 模板中访问带有贷款金额的还款

from jinja2 import Template

template = Template("Your repayment options are {{repayment.{{loan_amount}} }}")

template.render(data)

遇到语法错误。 有谁知道如何访问它。不是我事先不知道 loan_amount 这就是为什么我想以这种方式访问​​它

这似乎有效:

>>> import jinja2
>>> from jinja2 import Template
>>> 
>>> template = Template("Your repayment options are {{repayment[loan_amount] }}")
>>> template.render(data)
u'Your repayment options are {14: 600, 7: 550}'

jinja2,有点像javascript,doesn't really distinguish between item access via like x['foo'] vs x.foo。所以,我只使用了前一种方法而不是后者(在 {{...}} 中,一切都已经由 jinja "dereferenced")。