在Jinja投掷错误中设置变量

时间:2013-07-23 07:55:48

标签: django jinja2

我试图在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'

如何在Jinja中设置变量

2 个答案:

答案 0 :(得分: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应该仍然有用。

答案 1 :(得分:0)

您无法在外部使用 last_response 进行循环播放。

您可以使用Jinja2内置last()过滤器,而不是使用set

{{ values.chat | last }}