如何使用Jinja模板在HTML中打印列表

时间:2013-12-16 16:07:29

标签: python django jinja2

我有一个列表data = [[[1,2,3,4],[2,4,5]],["abc","def"]]。我想打印数据[1] [0],即“abc”到HTML模板。如果不使用循环,我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

根据the docs

  

您可以使用点(。)来访问变量的属性,替代[sic]可以使用所谓的“下标”语法([])。

给出的例子如下,它声称是等价的:

{{ foo.bar }}
{{ foo['bar'] }}

所以,你可以用任何一种语法来做你想要的,如下所示......

from jinja2 import Template

data = [[[1,2,3,4],[2,4,5]],["abc","def"]]

t1 = Template('Printing {{data.1.0}}')
t2 = Template('Printing {{data[1][0]}}')

t1.render(data=data) # Returns u'printing abc'
t2.render(data=data) # Also returns u'printing agc'

答案 1 :(得分:1)

您是否尝试过与普通python相同的方法?

import jinja2
template = """
    {{ data[1][0] }}
"""

data = [[[1,2,3,4],[2,4,5]],["abc","def"]]
print(jinja2.Template(template).render(data=data))

这对我有用。