web-dev-qa-db-ja.com

forループ内のjinja2の範囲

ネストされたリストがあります。以下に示すように、リストを反復処理し、forループに保持する必要があります。

{% for alpha in list %}
    <div id="{{ loop.index }}"> 
       <div class='sidebar-one'>
          {% for beta in list[0][2:] %} #I want to iterate through list[0][2:] till list[n][2:]
              <p> {{ beta[0][0] }} </p>
          {% endfor %}
       </div>
    </div>
{% endfor %}

範囲を試しましたが、運はありませんでした。

{% for n in range(1,n) %}
{% for line in check[{{n}}][2:] %}
{% endfor %}

エラーを投げました:

    TemplateSyntaxError: expected token ':', got '}'
30
Chandan Gupta

Pythonのようなものです。

{% for n in range(n) %}
    {% for line in check[n][2:] %}
        <p> {{ beta[0][0] }} </p>
    {% endfor %}
{% endfor %}
68
Blender

「length」プロパティを使用できます:

{% for n in range(yourList| length) %}
       <p class="someclass">{{n + 1}}.</p>
       <a class="someclass2" 
       href="{{ url_for( 'yourFunction', Int = yourList[n].iterable)}}">
       {{yourList[n].iterable}}</a><br>
{% endfor %}

長さはpythonにあるlen(yourlist)に似ています。

1
Dinidiniz