Как организовать флажки в несколько столбцов в формах Django - PullRequest
1 голос
/ 21 апреля 2009

Я новичок в Django и веб-разработке в целом, так что наберитесь терпения, возможно, очень глупый вопрос

У меня есть форма, сгенерированная из модели, и в этой форме у меня есть около 20 флажков. Теперь они выровнены в одном длинном столбце, и это выглядит не очень красиво с точки зрения пользовательского интерфейса. Я бы хотел, чтобы этот столбец был разделен на несколько, но при этом эта модель должна автоматически генерироваться из модели. Что бы вы предложили мне сделать?

В сгенерированном HTML отдельные флажки выглядят так:

<li><label for="id_boxes_0"><input type="checkbox" name="boxes" value="1" id="id_boxes_0" /> some name</label></li>

1 Ответ

2 голосов
/ 21 апреля 2009

Вам не нужно ничего менять в коде Python, но вам нужно расположить форму в шаблоне вместо использования {{form.as_ul}}. Вы можете перебрать форму, чтобы получить поля. Для максимально простого подхода, что-то вроде следующего может поместить двадцать полей в два столбца из десяти:

{% for field in form %}
  {% ifequal forloop.counter 11 %}</ul><ul>{% endifequal %}
  <li>{{ field }}</li>
{% endfor %}

Лично я никогда не использую вспомогательные методы as_ * в реальном коде, насколько я понимаю, они полезны только для грубого прототипирования.

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