Количество строк в колбах

Я отправил переменную из своих представлений в шаблоны, которые состоят из данных из базы данных

это то, что я использую в своем шаблоне

{% for i in data %}             
    <tr>
        <td>{{i.id}}</td>
        <td>{{i.first_name}}</td>
        <td>{{i.last_name}}</td>
        <td>{{i.email}}</td>
    </tr>
{% endfor %}

в этом цикле есть семь записей, мне нужно показать, как можно сдать листинг, как я могу это сделать

Ответ 1

Внутри цикла вы можете получить доступ к специальной переменной с именем loop, и вы можете увидеть количество элементов с {{ loop.length }}

Это все, что вы можете сделать с помощью вспомогательной переменной цикла:

  • loop.index Текущая итерация цикла. (1 проиндексирован)

  • loop.index0 Текущая итерация цикла. (0 проиндексировано)

  • loop.revindex Число итераций с конца цикла (1 проиндексировано)

  • loop.revindex0 Число итераций с конца цикла (0 проиндексировано)

  • loop.first Истинно, если первая итерация.

  • loop.last Истина, если последняя итерация.

  • loop.length Количество элементов в последовательности.

  • loop.cycle Вспомогательная функция для циклического переключения между списком последовательностей. См. Объяснение ниже.

  • loop.depth Указывает, насколько глубоко в глубине рекурсивного цикла выполняется рендеринг. Начинается с уровня 1

  • loop.depth0 Указывает, насколько глубоко в глубине рекурсивного цикла выполняется рендеринг. Начинается с уровня 0

EDIT:

Чтобы просмотреть количество элементов вне цикла for for, вы можете сгенерировать еще одну переменную из вашего вида, например count_data = len(data), или использовать фильтр length:

Data count is {{ data|length }}:
{% for i in data %}
    <tr>
      <td>{{i.id}}</td>
      <td>{{i.first_name}}</td>
      <td>{{i.last_name}}</td>
      <td>{{i.email}}</td>
    </tr>
{% endfor %}

Ответ 2

{{data | length}}

это отлично работает, нам не нужно использовать это в цикле, просто используйте любое место в шаблоне даже нам не нужно отправлять другую переменную из представлений