django newbie - меняем стиль таблицы шаблонов по дням недели - PullRequest
1 голос
/ 25 марта 2012

У меня есть таблица в шаблоне, и один из столбцов каждой строки таблицы является объектом даты. Строки таблицы отсортированы по дате. Я хочу заштриховать все строки определенной даты, затем заштриховать все строки следующего дня, затем закрасить все строки, которые соответствуют следующему дню, и т. Д. И т. Д.

Я знаю, как рассчитать день недели для каждого дня (используя date.weekday), чтобы я мог проверить, соответствует ли день для текущей строки значению сравнения, затем затенение или не затенение, в зависимости от случая да, но я не знаю, как сделать так, чтобы затенение / не затенение чередовалось с каждым новым днем.

Я уверен, что это относительно просто, но уже поздно, и мой мозг не работает хорошо. Любая помощь приветствуется. Вот пример таблицы БЕЗ штриховки, которую я хотел бы увидеть. enter image description here

Ответы [ 2 ]

1 голос
/ 25 марта 2012

Альтернативой divisibleby является использование cycle для простого переключения между классами:

{% for row in table %}
<tr class="{% cycle 'row_odd' 'row_even' %}">
...
1 голос
/ 25 марта 2012

Я думаю, что лучший способ сделать это - использовать определенный класс с даты:

<tr {% if date.day|divisibleby:"2" %}class="date_even"{% else %}class="date_odd"{% endif %}>
    <td>something</td>
    <td>something else</td>
    <td>{{ date }}</td>
</tr>

А затем с помощью CSS сделать все остальное

...