2016-09-16 2 views
1

У меня есть список кортежей называется вещи:jinja2 itterate через список кортежей

[ (1,2), (3,4), (5,6), (7,8) ] 

Я думал, что я мог бы итерацию хотя с помощью, но это не работает:

# Code 
output = template.render(items) 

# Tempalte 
{% for item in items %} 
    {{ item[0] }}; 
    {{ item[1] }}; 
{% endfor %} 

Есть предложения?

ответ

2

documentation С:

визуализации ([контекст])

Этот метод принимает те же аргументы, что и ДИКТ конструктора: A Dict, в ДИКТ подкласса или некоторых ключевых слов аргументов. Если нет аргументов , контекст будет пустым.

from jinja2 import Environment 

TEMPLATE = """ 
{% for item in items %} 
    {{ item[0] }}; 
    {{ item[1] }}; 
{% endfor %} 
""" 

template = Environment().from_string(TEMPLATE) 

items = [(1,2), (3,4), (5,6), (7,8)] 

print template.render(items=items) 

В процессе анализа шаблон, jinja2 будет искать ключ, который называется «элементы», но в вашем случае, нет ни одного, вы должны явно указать.

+0

Это исправлено - большое спасибо. – Ethan