2016-10-25 6 views
1

この質問以外は比較的簡単ですが、私はDjangoを初めて使っているので苦労しています。Djangoテンプレート - マルチプレットを作成せずにクエリーセットをループするDivの

テンプレートに与えられたQuerySetを取得しました。基本的に私はサッカー(サッカー)テーブルを作りたいと思っています。しかし、一般的に私はその概念を理解したい。

チームのクエリセット内のすべてのチームについて、データはそれぞれの5つの列に記入する必要があります。現時点では、すべての列にforループを追加して解決しました。しかし、私はそれが醜く見え、不十分だと思う。さらに、最初の3つのループのIDを編集したいと思います。

私が探しているもの:divの周りにforループを設定する可能性がありますが、すべてのループにdivを作成する必要はありません。

ような何か:のようなものを追加することに加えて

{%for team in teams %} 

    <div id="position">team.position</div> 
    <div id="name">team.name</div> 
    ... 
{% endfor %} 

{% if forloop.counter0 == 0|1|2 %} 
    add id/class to div row 
{% endif %} 

は= {{XYZ}}クラスを意味し、クラスに変数を追加し、ここにスマートな方法は何ですか?

テンプレートはこのような瞬間を見ます。

<div class="row"> 
      <div class="col-md-2" id="position">{% for tea in teams %}{{tea.league_position}}</br>{% endfor %}</div> 
      <div class="col-md-4" id="name">{% for tea in teams %}{{tea.team_name}}</br>{% endfor %}</div> 
      <div class="col-md-2" id="points">{% for tea in teams %}{{tea.league_points}}</br>{% endfor %}</div> 
      <div class="col-md-2" id="goals">{% for tea in teams %}{{tea.goals_shot}}</br>{% endfor %}</div>  
      <div class="col-md-2" id="received">{% for tea in teams %}{{tea.goals_received}}</br>{% endfor %}</div> 
</div> 

ありがとうございました!!!!! サイモン

+1

、私はそれがこのよう可能であることはないと思う - なぜあなたは '

'を使用したくありませんか? –

+0

それは本当ですが、私は他の人たちと同じ問題に遭遇すると思いました。私は最初のループにのみdivを設定し、残りをそれに入れることが可能かもしれないと思った。 – svmon

+0

もちろん、あなたは囲まれたdivのセリフを取得することを覚えておく必要があります。クラス 'col-xs-4 'を持ち、12までの合計があればOKです。同じタイプの別のものの下で) - とにかく私のためにはあなたの時間に値するものではありません。 '

'を使用してください - これがこのタグが存在する理由です;) –

答えて

0

あなたはdivからテーブルを構築しています。代わりにテーブルを使用してください。

<table> 
    <tr> 
     <th>Position</th> 
     <th>Name</th> 
     <th>Points</th> 
     <th>Shots</th> 
     <th>Goals against</th> 
    </tr> 
    {% for t in teams %} 
    <tr> 
     <td>{{ t.league_position }}</td> 
     <td>{{ t.team_name }}</td> 
     <td>{{ t.league_points }}</td> 
     <td>{{ t.goals_shot }}</td> 
     <td>{{ t.goals_received }}</td> 
    </tr> 
    {% endfor %} 
</table> 
+0

これは私が正確に探していたものではありませんが、この特定のケースではそれは良い適合です。ありがとうございました! – svmon

0

あなたはdivを含めたくない場合は、可能な唯一の方法は、別途の列を移入するAJAX要求を行うことであろう...以下

がテストされていない(おそらく間違って)ですが、それ私が何を意味するのか考えてください。

$.get('my_get_teams_url', function(data){ 
    for(i = 0; i < data.teams.length; i++) 
    { 
     $('#position').append(data.teams[i].position); 
     $('#name').append(data.teams[i].name); 
    } 
}); 
関連する問題