2017-07-03 5 views
1

私の井戸の中には、左右に分割するリストがあります。私はそのリストにユーザーを配置したい。私はそれらを次のように注文したい:左のリストの第一、右の第二のもの、左のリストの第三のもの、右の順番...そう、各2番目のユーザーは右のリストに置かれるだろう。Django - forループ内の2番目ごとに異なった場所に置く

<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> 
:以下のコードに示すように、私がしなければ、それは全体の第二のリストを何度もロードになるため

<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> 

が、今私は、ちょうどループのための古典でそれを行うカント:ここでは井戸のHTMLはあります

私はたぶんforloop.counter|divisibleby:3を使用する必要がありますが、すべてのユーザーに対してリスト全体がコピーされることなく、2番目の順序付けられていないリストでユーザーを読み込む方法はわかりません。たぶん、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

編集:2日後に試してみました。もし誰かが同じ問題を扱っているならば。

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> 

乾杯を!

関連する問題