1

for在 Django 中有一个简单的循环,输出一系列预告故事。每个都包裹在一个div带有一个类的row. 我有一个名为 的变量num_of_rows,它添加了一个 after 2 循环的类,它使用 csshidden将这些 s 从视图中隐藏起来。div

这是我的代码:

{% 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每个单独的行添加一个类,而是将 2 个项目之后的所有项目单独包装div,然后使用 Django 用 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 回答