使用jinja传递的关键字在jinja2中访问dict中的元素

时间:2015-07-28 04:28:27

标签: python django jinja2

所以我有这个数据结构

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这就是为什么我想以那种方式访问​​它

1 个答案:

答案 0 :(得分:1)

这似乎有效:

>>> 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”取消引用)。