【问题标题】:Change first element style in django template loop divided in if else case更改 django 模板循环中的第一个元素样式分为 if else case
【发布时间】:2013-06-12 09:43:59
【问题描述】:

我的 djnago 模板中有一个循环,它分为 if else case,我需要 change only *if 中的第一个元素样式em>* 案例

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

请建议我该怎么做?

【问题讨论】:

    标签: python django templates loops


    【解决方案1】:

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

    【讨论】:

    • .red{background-color:black;} 我试过这个,但这没有帮助
    【解决方案2】:

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

    forloop.first - 如果这是第一次通过循环则为真

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

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

    forloop.counter0 - 循环的当前迭代(0-indexed)

    在你的情况下,代码应该是这样的:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-13
      • 1970-01-01
      • 2021-10-18
      • 1970-01-01
      • 2022-08-12
      • 2021-11-23
      • 2015-10-10
      • 2022-08-23
      相关资源
      最近更新 更多