在django模板循环中更改第一个元素样式,在if else的情况下分成

时间:2013-06-12 09:44:00

标签: python django templates loops

我的djnago模板中有一个循环,如果是其他情况,则需要更改 * 中的第一个元素样式如果 * 案例

<b><ul>
    {% for i in prosize %}
        {% if i.num_in_stock > 0 %}
            <li ><a  class="order" id="{{i.option1}}" href="javascript:setSize('{{i.option1}}')">{{i.option1}}</a></li>//**i need to chnage the first element style in this case** 
        {% else %}
             <li><a style="background-color:#c2c2c2;color:#000;" href="#myModal" role="button" data-toggle="modal" >{{i.option1}}</a></li>
        {% endif %} 
    {% endfor %}
</ul></b>

请建议我该怎么做?

2 个答案:

答案 0 :(得分:1)

使用forloop.first检查当前迭代是否是第一次迭代。如果您想知道,是的,您可以在and中使用if等布尔运算符。

答案 1 :(得分:0)

Django为“ For循环”提供了几种方法。您可以使用以下方法。

forloop.first -如果这是第一次遍历循环,则为true

forloop.last -如果这是最后一次循环,则为true

forloop.counter -循环的当前迭代(1索引)

forloop.counter0 -循环的当前迭代(索引为0)

在您的情况下,代码应如下所示:

<b><ul>
    {% for i in prosize %}
        {% if i.num_in_stock > 0 and forloop.counter == 1 %}
     .....................