1

Djangoに単純なforループがあり、一連のティーザーストーリーを出力しています。divそれぞれがのクラスでラップされていrowます。私は、と呼ばれる変数を持っています。これは、2つのループnum_of_rowsの後のクラスを追加します。これは、これらのsをcssで表示されないようにします。hiddendiv

これが私のコードです:

{% block content %}
<h1>{{ section.title }}</h1>

{% for story in story_list %}
<div class="row {% if num_of_rows > 2 %} hidden{% endif %}">
    <h2>
      <a href="{{ story.get_absolute_url }}">
        {{ story.headline|upper }}
      </a>
    </h2>
    <p>{{ story.tease|truncatewords:"100" }}</p>
</div>
{% endfor %}
{% endblock %}

私がやりたいのは、hidden個々の行にクラスを追加する代わりにdiv、Djangoを使用して、2つのアイテムの後にあるすべてのアイテムを別々にラップし、CSSで非表示にすることです。このようにして、jQueryを使用してはるかにスムーズなスライドダウン効果を作成できます。

4

1 に答える 1

1

これには、 forloop変数を使用できます。

{% for story in story_list %}
  {% if forloop.counter == 3 %}<div class="hidden">{% endif %}
  <div class="row">
      <h2>
        <a href="{{ story.get_absolute_url }}">
          {{ story.headline|upper }}
        </a>
      </h2>
      <p>{{ story.tease|truncatewords:"100" }}</p>
  </div>
  {% if forloop.counter > 2 and forloop.last %}</div>{% endif %}
{% endfor %}
于 2012-08-07T19:40:21.157 に答える