2013-07-23 2 views
1

Я пытаюсь получить значения ключей в словаре в jinja.Установить переменную в ошибке бросания Jinja

{% for key, values in chat_data.items %} 

      {{values.from}} <br/> 
      <b> Query: </b>{{values.init_query}}<br/> 
      {% for k in values.chat %} 
       {% set last_response = '111' %} 
      {% endfor %} 
      {{last_response}} 
{% endfor%} 

Ошибка: Invalid block tag: 'set', expected 'empty' or 'endfor'

Как я могу установить переменную в Джиндже

ответ

0

Почему бы не использовать Jinja2 встроенный last() фильтр?

http://jinja.pocoo.org/docs/templates/#last

т.е. попробовать:

{% for key, values in chat_data.items %} 
     {{values.from}} <br/> 
     <b> Query: </b>{{values.init_query}}<br/> 
     {{ values.chat|last }} 
{% endfor%} 

Использование set должно работать, хотя.

0

Вы не можете использовать last_response снаружи для цикла.

Вы можете использовать Jinja2 встроенный фильтр last() а не для набора с

{{ values.chat | last }}