0

私は9つの値を持つテーブルを持っています。テーブルをループして、結果をテンプレートの div 構造に入れたいです。

それらを循環しようとしましたが、それらを別の div に入れることができませんでした。

以下は、両方の場所に同じ値を入れるように機能します。次の group_nm にインクリメントするにはどうすればよいですか?

{% for g in groups %}

    <div class="left1">
            <a href="/group/{{ g.group_nm }}">
        <img src="/site_media/images/groups/{{ g.group_nm }}.gif" height="125px" width="200em" />
            </a>
    <p align="center">    
        <font size="5" face="Georgia, Arial" color="maroon">
            {{ g.group_nm }}
        </font>
    </p>
    </div>

    <div class="left2">
            <a href="/group/{{ g.group_nm }} ">
        <img src="/site_media/images/groups/{{ g.group_nm }}.jpg" height="125px" width="200em" />
            </a>
    <p align="center">          
        <font size="5" face="Georgia, Arial" color="maroon">
            {{ g.group_nm }}
        </font>
    </p>         
    </div>

ありがとう。

編集: 9 つのグループでこれを行いたいです (最終的には、別の場所で、無制限の数で行いたいと思います)。上記の例は、繰り返される 2 の例のみを示しています。

4

3 に答える 3

2

forloop.counter 値を使用してクラス名を作成できます (名前が left1、left2、left3、left4、left5 などであると仮定します)。

{% for g in groups %}
      <div class="left{{ forloop.counter }}">
         <a href="/group/{{ g.group_nm }}">
         <img src="/site_media/images/groups/{{ g.group_nm }}.gif" height="125px" width="200em" />
         </a>
         <p align="center">    
             <font size="5" face="Georgia, Arial" color="maroon">
                {{ g.group_nm }}
             </font> 
         </p>
       </div>
{% endfor %}
于 2012-10-28T19:04:39.723 に答える
1

テンプレートでこれを行うことができます:

{% for g in groups %}
    {% if forloop.counter|divisibleby:"2" %}
      <div class="left1">
         <a href="/group/{{ g.group_nm }}">
         <img src="/site_media/images/groups/{{ g.group_nm }}.gif" height="125px" width="200em" />
         </a>
         <p align="center">    
             <font size="5" face="Georgia, Arial" color="maroon">
                {{ g.group_nm }}
             </font> 
         </p>
       </div>
    {% else %}
        <div class="left2">
           <a href="/group/{{ g.group_nm }} ">
              <img src="/site_media/images/groups/{{ g.group_nm }}.jpg" height="125px" width="200em" />
           </a>
           <p align="center">          
               <font size="5" face="Georgia, Arial" color="maroon">
                    {{ g.group_nm }}
               </font>
           </p>         
        </div>
    {% endif %}
{% endfor %}
于 2012-10-27T09:36:07.147 に答える
0

解決しましたが、返される行数がわかっている場合に限ります。これは無制限の数では機能せず、私が望むほどエレガントではありませんが、機能します。

djangogoogleグループで見つけたifequalforloop.counterを使用しました

<body>
{% for g in groups %}
    {% ifequal forloop.counter 1 %}
    <div class="left1">+
            <a href="/group/{{ g.group_nm }}">
        <img src="/site_media/images/groups/{{ g.group_nm }}.gif" height="125px" width="200em" />
            </a>
    <p align="center">    
        <font size="5" face="Georgia, Arial" color="maroon">
            {{ g.group_nm }}
        </font>
    </p>
    </div>
    {% endifequal  %}
    {% ifequal forloop.counter 2 %}  
    <div class="left2">
            <a href="/group/{{ g.group_nm }} ">
        <img src="/site_media/images/groups/{{ g.group_nm }}.jpg" height="125px" width="200em" />
            </a>
    <p align="center">          
        <font size="5" face="Georgia, Arial" color="maroon">
            {{ g.group_nm }}
        </font>
    </p>         
    </div>

    {% endifequal  %}
    {% ifequal forloop.counter 3 %}  
    <div class="left3">
            <a href="/group/{{ g.group_nm }} ">
       <img src="/site_media/images/groups/{{ g.group_nm }}.gif" height="125px" width="200em" />
            </a>
    <p align="center">
        <font size="5" face="Georgia, Arial" color="maroon">
            {{ g.group_nm }}
        </font>     
    </p>            
    </div>
</div> 

    {% endifequal  %}

そして、9つのグループすべてを通して。

于 2012-10-28T01:05:54.703 に答える