代码之家  ›  专栏  ›  技术社区  ›  Ober

如何在HTML w/Django中跳过逻辑并继续循环

  •  -2
  • Ober  · 技术社区  · 7 年前

    想有一种方法跳过当forloop.counter==特定的数字,我假设这是可能的,但没有找到像forloop.next这样的东西

    {% for instance in questions %}
      <div>
        {% for field, value in instance.fields.items %}
          <div class="slidecontainer">
            Counter: {{ forloop.counter }}
            {% if forloop.counter == 1 %}
                ????
            {% endif %}
            <form name = "{{ field }}" id = "{{ field }}" >
              {{ value }}<br>
              <input class="slider" id="{{ field }}" input type="range" name="{{ field }}" min="0" max="10" value="5" step="1" onchange="showValue(this)" />
              <span id="range">5</span>
            </form>
          </div>
        {% endfor %}
      </div>
    {% endfor %}
    

    还有一个类似的问题,我想我可以这样做,但是有没有更好的方法来写它:

    {% if forloop.counter == 1 or foorloop.counter == 4 or foorloop.counter == 12 or foorloop.counter == 20 %}  # and more, shortened
        # show nothing - the parts of loop I am wanting to skip
    {% else %}
        # show what I want for the other iterations of loop
    {% endif %}
    

    我还有一个类似的问题,有没有办法确定字段类型?老实说,我没看过这本书,但自从我问起这些问题,我想我可以在这里问。
    {{..}} {%..%} 东西(这是金贾吗?当你不知道它到底是什么时很难抬头)

    谢谢!

    1 回复  |  直到 7 年前
        1
  •  0
  •   Raj006    7 年前

    你需要的是 continue . Continue允许您跳过该循环并转到下一个迭代。我不知道django语法。我只是遵循了其他格式。

    {% for instance in questions %}
      <div>
        {% for field, value in instance.fields.items %}
          <div class="slidecontainer">
            Counter: {{ forloop.counter }}
            {% if forloop.counter == 1 %}
                {% continue %}
            {% endif %}
            <form name = "{{ field }}" id = "{{ field }}" >
              {{ value }}<br>
              <input class="slider" id="{{ field }}" input type="range" name="{{ field }}" min="0" max="10" value="5" step="1" onchange="showValue(this)" />
              <span id="range">5</span>
            </form>
          </div>
        {% endfor %}
      </div>
    {% endfor %}
    

    与另一个相同,假设它处于for循环中。

    {% if forloop.counter == 1 or foorloop.counter == 4 or foorloop.counter == 12 or foorloop.counter == 20 %}  # and more, shortened
        # show nothing - the parts of loop I am wanting to skip
        {% continue %}
    {% else %}
        # show what I want for the other iterations of loop
    {% endif %}