2012-12-30 1 views
0

у меня есть два списка (это лишь небольшие примеры):Джанго форма сетки для 2D массива записей

Attackers = ['John', 'Mary'] 
Defenders = ['Steve', 'Bill', 'Dave'] 

Моя цель состоит в том, чтобы создать 2D вида сетки с соответствующим количеством входов (флажки) представлять все возможные отношения между этими двумя списками.

Мне нелегко обматывать голову, как это сделать как на уровне модели, так и на уровне обзора. Я изучил встроенные формы и модельные формы, но я не уверен, как это сделать.

EDIT:

{% for at in atts %} 
    {% for def in defs %} 
     <input type="text" name="{{ at }}_{{ def }}" value="{{ at }}_{{ def }}" > 
    {% endfor %} 
    <br> 
{% endfor %} 
+1

Создайте один флажок для каждой пары. Поместите эти пары в правильном порядке в вашей форме (учитывая, что HTML поддерживает левый-правый, затем макет вниз) и соответствующим образом отображает его в вашем шаблоне. – Marcin

+0

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

+1

Выполнение, как я предлагаю, не помешает вам использовать проверку формы или формы: «Поместите эти пары в правильном порядке в вашей форме». Формы Django не особенно полезны для создания фильтруемых отношений, за исключением проверки данных, которые отправляются обратно на сервер. – Marcin

ответ

1

Создайте один флажок для каждой пары. Поместите эти пары в правильном порядке в вашей форме (учитывая, что HTML поддерживает левый-правый, затем макет вниз) и соответствующим образом отображает его в вашем шаблоне.

Для создания флажков: В вашей форме есть коллекция его полей, которые называются полями, которые являются полем имени отображения бина для объекта поля. Вы хотите заполнить эту программу программно. Если вы открываете код формы в django/проверяете объект формы в оболочке, вы увидите (если моя память не ошибается), что есть также список или кортеж полей, который контролирует порядок итерации. Вы хотите заполнить это в правильном порядке, как описано выше.

Чтобы отобразить его: Итерируйте форму в своем шаблоне. Вы хотите включить некоторую информацию в форму или иным образом перейти к шаблону, чтобы описать форму сетки, поэтому ваш код шаблона может определить, куда помещать границы строк.

Смежные вопросы