所以我有这个数据结构
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这就是为什么我想以那种方式访问它
答案 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”取消引用)。