代码之家  ›  专栏  ›  技术社区  ›  Jack M.

%cycle%为嵌套for循环工作?

  •  7
  • Jack M.  · 技术社区  · 15 年前

    我在Django遇到了一个有趣的“疏忽” {% cycle %} 模板标签。这已被列为 a bug 但我想知道是否有解决办法?

    {% for r1 in range_0_2 %}
      {% for r2 in range_0_3 %}
       {{ r1 }}-{{ r2 }}-{{ cycle 'even' 'odd' }}
      {% endfor %}
    {% endfor %}
    

    这就产生了:

    0-0-even
    0-1-odd
    0-2-even
    1-0-odd
    1-1-even
    1-2-odd
    

    它应该产生:

    0-0-even
    0-1-odd
    0-2-even
    1-0-even
    1-1-odd
    1-2-even
    
    2 回复  |  直到 11 年前
        1
  •  11
  •   Lance McNearney    15 年前

    {% if forloop.counter|divisibleby:2 %}even{% else %}odd{% endif %}
    
        2
  •  1
  •   Pochekutov.Andrey    11 年前

    {% regroup employee_bypos_list by pos as by_pos %}
    {% for pos_set in by_pos %}
        <h2>«{{ pos_set.grouper.address }}»</h2>
        {% with pos_set.list as employee_list %}
            {% include 'website/employee/_staff_by_post.html' %}
        {% endwith %}
    {% endfor %}