Создание 3-х колоночной HTML-таблицы с динамическими данными в Django - PullRequest
6 голосов
/ 26 апреля 2011

Я пытаюсь создать динамическую таблицу HTML с 3 столбцами и 3 строками. В каждом столбце будет 3 записи из базы данных, поэтому будет отображаться всего 9 записей (если у них 9 друзей. В противном случае, сколько бы их ни было). Я делаю это для того, чтобы в основном отображать маленькие картинки профиля пользователя с именами своих друзей на главной странице пользователя. Это будет список из 9 их друзей. Я использую Django и не могу найти учебник, показывающий, как отображать только 3 записи в строке, если я получаю всего 9 записей. Любая помощь будет оценена, будь то ссылка на учебник или информация о том, как решить эту проблему. Спасибо!

Ответы [ 3 ]

7 голосов
/ 26 апреля 2011

вы можете использовать forloop.counter и сделать что-то вроде:

<table>
    <tr>
{% for person in people %}
        <td>{{ person }}</td>
    {% if not forloop.last and forloop.counter == 3 or forloop.counter == 6 %}
    </tr>
    <tr>
    {% endif %}
{% endfor %}
    </tr>
</table>

или сверните пользовательский тег шаблона. One here выглядит так, как будто он делает то, что вы хотите.

похоже, что этот вопрос связан с:

Визуализация одного набора запросов в 2 столбца деления (шаблон django)

[EDIT]: должно быть "counter", а не "count"

1 голос
/ 26 апреля 2011

Этот фрагмент также может быть полезен в этом контексте: Группировать последовательность по строкам и столбцам для TABLE

0 голосов
/ 26 апреля 2011

вы можете использовать {% if friends|length == 9 %}, чтобы проверить, есть ли у вас 9 записей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...