循环中修改的变量不会在循环外持久存在

时间:2017-07-04 20:19:12

标签: python web jinja2 mkdocs

delete(nameoffile3)

{% set title_org = nav_item.title.split(" ") %} {% set title_mod = "" %} {% for i in title_org %} {% if loop.index > 3 %} {% set title_mod = title_mod + ' ' + i %} {% endif %} {% endfor %} <a href="{{ nav_item.url }}" id="{{ id }}">{{ title_mod }}</a> 是一个空字符串,尽管在循环中连接。如何在for循环外检索更新的{{ title_mod }}

1 个答案:

答案 0 :(得分:0)

您应该使用

之类的数组/字典
<p style="display:none;">
{% set title_data = {'org': nav_item.title.split(" "), 'mod' : ""} %}
{% for i in title_data.org %}
  {% if loop.index > 3 %}
    {{ title_data.update({'mod' : title_data.mod + ' ' + i}) }}
  {% endif %}
{% endfor %}
</p>
<a href="{{ nav_item.url }}" id="{{ id }}">{{ title_data.mod }}</a>

看起来像dupe