我有一个清单

list_data = [("q", "w", "e", "r"), ("a", "s", "d", "f")]


在Python中,您可以执行以下操作:

for item in list_data:
    print item[0]


它会打印q和a

我的代码应如下所示:

{% for item in data_list %}
<div class="row no-gutter">
<div class="col-25">{{ item[0] }}</div>
<div class="col-25">{{ item[3] }}</div>
<div class="col-25">{{ item[2] }}</div>
<div class="col-25">{{ item[1] }}</div>
</div>
{% endfor %}


但我不知道如何实际获得物品[0]

最佳答案

确保代码正确传递了list_data:Python代码和模板代码中使用的名称不同:list_datadata_list

>>> import jinja2
>>> t = jinja2.Template('''
... {% for item in data_list %}
... <div class="row no-gutter">
... <div class="col-25">{{ item[0] }}</div>
... <div class="col-25">{{ item[3] }}</div>
... <div class="col-25">{{ item[2] }}</div>
... <div class="col-25">{{ item[1] }}</div>
... </div>
... {% endfor %}''')
>>> list_data = [("q", "w", "e", "r"), ("a", "s", "d", "f")]
>>> print(t.render({'data_list': list_data}))  # <---


<div class="row no-gutter">
<div class="col-25">q</div>
<div class="col-25">r</div>
<div class="col-25">e</div>
<div class="col-25">w</div>
</div>

<div class="row no-gutter">
<div class="col-25">a</div>
<div class="col-25">f</div>
<div class="col-25">d</div>
<div class="col-25">s</div>
</div>

关于python - Jinja 2从列表中选择项目[n],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31742689/

10-13 09:38
查看更多