вопрос php до python простой l oop увеличение [django] [решено] - PullRequest
1 голос
/ 12 февраля 2020

Я должен преобразовать некоторый php код в python django, в django я заметил, что трудно сделать такие вещи, как php делает:

мой вопрос, у меня есть увеличить простой l oop на n (шаг) * итерация,

php код:

<?php $step = 3; for($i=0; $i < count($items); $i += $step){ /* */}

в django шаблон: я пытался для l oop словаря,

   data['posts'] = {
    "comments": [
        {"id": "1", "title": "hey buddy"},
        {"id": "2", "title": "hey buddy"},
        {"id": "4", "title": "hey buddy"},
        {"id": "5", "title": "hey buddy"},
        {"id": "6", "title": "hey buddy"},
        {"id": "7", "title": "hey buddy"},
        {"id": "8", "title": "hey buddy"},
        {"id": "9", "title": "hey buddy"},

    ]
}

и в шаблоне:

for elem in posts.items: 
{{ forloop.counter0|add:"3" }}

это работает, но это только отображение, а не установка счетчика l oop для каждой итерации до 3,

я хочу, чтобы на каждой итерации l oop увеличивалось на указанное число. РЕДАКТИРОВАТЬ поэтому результат, который я хочу получить в django шаблоне:

<div> the first 3 items </div>
<div> the next 3 items (so +3) </div>
<div> the final 3 items (+3) </div>

спасибо

1 Ответ

1 голос
/ 12 февраля 2020

Я решил без создания пользовательского тега в django, просто использовал divisibleby Пример:

{% if forloop.counter0|divisibleby:3 %} output items divide into 3 groups {% endif %}

...