Взлом или остановка forloop.counter в Джанго - PullRequest
0 голосов
/ 28 февраля 2019

Я применил forloop.counter для числовой маркировки каждого объекта в цикле for Но я хочу, чтобы он пронумеровывал только первые пятьдесят (50) объектов и игнорировал остальные.Вот мой код

{% load thumbnail %}

{% for image in most_viewed %}

<div class="image">
<a href="{{ image.get_absolute_url }}">
{% thumbnail image.image "200x200" crop="10%" as im %}
<span class="forloop">**{{ forloop.counter }}**</span>
<a href="{{ image.get_absolute_url }}"> <img src="{{ im.url }}">  </a> 

{% endthumbnail %}

</div>
{% endfor %}

В основном объекты 51 и выше должны быть без цифр

1 Ответ

0 голосов
/ 28 февраля 2019

Вы можете попробовать использовать slice , чтобы перезаписать for loop как

{% for image in most_viewed|slice:":50" %}

. Он выполнит итерацию для первых 50 изображений в most_viewed .

Правка - только что увидел вашу правку.Вы можете попробовать использовать условный оператор forloop.counter <= 50 </strong>

{% for image in most_viewed %}

  <div class="image">
    ...
    {% if forloop.counter <= 50 %}
      <span class="forloop">**{{ forloop.counter }}**</span>
    {% endif %}
    ...
  </div>

{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...