python
  • loops
  • jinja2
  • 2013-07-17 24 views 17 likes 
    17

    İç içe geçmiş bir liste var. Bir liste boyunca yinelemeli ve aşağıda gösterildiği gibi for döngüsünde tutmam gerekiyor.aralığı

    {% 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 %} 
    

    Aralık denedim, ancak şans yok.

    TemplateSyntaxError: expected token ':', got '}' 
    

    cevap

    42

    Sadece Python gibi: Anladım

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

    Tamam

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

    hatayı attı. Benim hatam, bu n {{n}} gibi parantez içine koymaktı. Hala diş tellerinin neden kullanılmadığını merak ediyorum. jinja2'deyiz ve python'da değil, değil mi? Cevabı eklemeye dikkat ederseniz –

    +0

    anohter sorgu. İlk önce döngü için ne ikincisini bitiririm? "endfor", döngü için doğru olanı otomatik olarak alacak mı? Önce ilmek için ve sonra iç olanı sonlandırmak için bir hack olup olmadığını merak ediyorum! –

    +0

    @ChandanGupta: Jinja2 Python değil, ancak sözdizimi çok benzer. Döngü meselesine gelince, bunu normal Python ile nasıl yaparsın? – Blender

    İlgili konular