проверить, присутствует ли число в списке, шаблонах движка приложения - PullRequest
0 голосов
/ 20 декабря 2010

Я пытаюсь создать доску (10X10) с использованием шаблонов ядра приложения и таблицы html. Таким образом, это означает, что нужно сделать перерыв после 10 итераций цикла. Как я могу добиться этого, используя встроенный шаблонизатор движка приложения (django 0.96)?

Обновление

Люк ответ решил мою проблему автоматической вставки разрыва.
Но мне все еще нужно найти способ проверить для каждого номера, присутствует ли он в списке, и дать ему определенный класс. Есть ли способ добиться чего-то подобного:

{% for number in list }
  <td {% if number in another_list %}class="special"{% endif %}>{{number}}</td>
{% endfor }

Ответы [ 4 ]

5 голосов
/ 20 декабря 2010

Имеет ли тег-шаблон 0,96 , делимый на ? Кажется, это бы сработало:

{% for end_number in end_numbers %}
    {% if forloop.counter|divisibleby:"10" %}
      </tr>
    {% endif %}
{% endfor %}
1 голос
/ 20 декабря 2010

Вы должны предварительно обработать данные в своем коде, чтобы их было легче использовать в шаблоне. Разбейте массив из 100 элементов на вложенный массив из 10 массивов по 10 элементов в каждом и предоставьте информацию, необходимую для назначения им класса CSS.

1 голос
/ 20 декабря 2010

На этом этапе вам, возможно, лучше написать собственный тег шаблона или использовать что-то вроде smartif , что должно позволить вам сделать {% if foo in bar %}.

0 голосов
/ 20 декабря 2010

Включите счетчик (i), который увеличивается во время каждого цикла, и используйте оператор if, чтобы сбросить i до 1 и нарисовать разрыв, когда он достигнет 10.

...