2017-07-03 34 views
1

在我的井裏面我有一個分開左右的列表。我想將用戶放入該列表中。我想要命令他們:左邊列表中的第一個,右邊的第二個,左邊的列表中的第三個,右邊的第四個......因此,每個第二個用戶都將被放置在右邊的列表中。這裏是井的HTML:Django - 在for循環中每個第二項不同的地方

<div class="well"> 
    <h4>Users</h4> 

    <div class="row"> 
    <div class="col-xs-6"> 
     <ul class="list-unstyled"> 
      <li><a href="#">User1</a> 
      </li> 
      <li><a href="#">User3</a> 
      </li> 
     </ul> 
    </div> 

    <div class="col-xs-6"> 
     <ul class="list-unstyled"> 
      <li><a href="#">User2</a> 
      </li> 
      <li><a href="#">User4</a> 
      </li> 
     </ul> 
    </div> 
    </div> 
</div> 

現在,我不能這樣做只是與經典的for循環,因爲如果我這樣做是下面的代碼顯示,它會加載整個第二列表很多次:

<div class="col-xs-6"> 
     <ul class="list-unstyled"> 

      {% for user in users %} 

      <li><a href="#"> {{ user }}</a> 
      </li> 
     </ul> 
    </div> 
    {% if forloop.counter|divisibleby:2 %} 
    <div class="col-xs-6"> 
     <ul class="list-unstyled"> 
      <li><a href="#">{{ user }}</a> 
      </li> 
     </ul> 
    </div> 
    {% endfor %} 
</div> 

我可能不得不使用forloop.counter|divisibleby:3但我不知道如何加載第二個無序列表中的用戶,沒有爲每個用戶複製整個列表。也許soulution會使用JavaScript呢? 我希望你能理解我的問題:D

回答

0

你可以做的其他事情,以避免發送2個額外的陣列是以這種方式使用divisibleby

<div class="col-xs-6"> 
     <ul class="list-unstyled"> 
     {% for user in users %} 
      {% if not forloop.counter|divisibleby:2 %} 
       <li><a href="#">{{ user }}</a> 
       </li> 
      {% endif %} 
     {% endfor %} 
     </ul> 
    </div> 

    <div class="col-xs-6"> 
     <ul class="list-unstyled"> 
      {% for user in users %} 
       {% if forloop.counter|divisibleby:2 %} 
        <li><a href="#">{{ user }}</a> 
        </li> 
       {% endif %} 
      {% endfor %} 
     </ul> 
    </div> 
+0

這是不錯的選擇! – BaltimoreGG

0

編輯:我想通了,兩天後試圖剛剛找到我。如果有人正在處理同樣的問題;我處理它的觀點:

def index(request): 
    users = User.objects.all() 
    odd_users = users[::2] 
    even_users = users[1::2] 
    return render(request, 'index.html', {'users': users, 'odd_users': odd_users, 'even_users': even_users}) 

然後我就裝好了模板:

<div class="col-xs-6"> 
     <ul class="list-unstyled"> 
     {% for user in odd_users %} 
      <li><a href="#">{{ user }}</a> 
      </li> 
     {% endfor %} 
     </ul> 
    </div> 

    <div class="col-xs-6"> 
     <ul class="list-unstyled"> 
      {% for user in even_users %} 
      <li><a href="#">{{ user }}</a> 
      </li> 
      {% endfor %} 
     </ul> 
    </div> 

乾杯!

相關問題