#python #django #django-templates #django-3.0 #django-3.1
#python #django #django-шаблоны #django-3.0 #django-3.1
Вопрос:
Я довольно новичок в Django 3, но я не смог найти ответа, который показывает наилучший способ использования синтаксиса шаблона Django для перебора первых пяти элементов в списке, приведенном в контексте.
Для пояснения, я ищу способ сделать это:
(учитывая следующий список в контексте ["one", "two", "three", "four", "five", "six"]
) Я хочу отобразить первые пять элементов способом, аналогичным этому ванильному коду Python:
for item in range(5):
print(list[item])
Я был бы даже признателен, если бы кто-нибудь попытался показать мне, как разорвать цикл в шаблонах (если это вообще возможно).
Есть ли способ сделать что-либо из этого?
Комментарии:
1.
{% for item in list %} <p>{{ item }}</p> {% endfor %}
. И pythonic способ итерации alist
будетfor item in list:..print(item)
2. Я знаю об этом, но проблема в том, что мне нужно перебирать не ВСЕ элементы, а только первые пять…
3. я думаю, вы можете использовать forloop.counter0 для проверки текущего счетчика итераций
Ответ №1:
Вы можете сделать:
{% for item in list%}
{% if forloop.counter < 6}
// Do what you need
{% endif %}
{% endfor %}
Ответ №2:
Попробуйте:
{% with new_list=list|slice":5" %}
{% for item in new_list %}
<h1>Check</h1>
{% endfor %}
{% endwith %}
Смотрите: django_template_with и django_template_slice