2016-01-05 3 views
0

Я создал мастер формы в django, который начинается с формы, в которую пользователь может ввести свои данные (имя, возраст и т. Д.) В.Повторяющиеся формы в мастере формы django

Затем мастер переходит к другим формам, которые мне нужны.

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

Так в основном, это должно быть что-то вроде: -

детали пользователя -> Хотите добавить больше? не

Если да -> Данные пользователя

Если нет -> Следующая форма

Мне также нужно, чтобы пользователь имел возможность редактировать предыдущие данные пользователя или удалить предыдущие данные пользователя полностью.

Я попытался добавить нагрузку условных форм для деталей пользователя, которые включены или выключены, в зависимости от того, ответил ли пользователь Да на вопрос «добавить еще». Однако все поля формы пользовательских данных имеют одно и то же имя, поэтому они перезаписывают друг друга. Кроме того, это кажется мне взломом.

Так что же такое «правильный» способ сделать это? Проще говоря, как я могу условно повторять формы, основанные на пользовательском вводе, когда мастер прогрессирует?

ответ

0

Тогда вы можете использовать django formsets https://docs.djangoproject.com/en/1.9/topics/forms/formsets/ таким образом, что пользователь может добавить столько, сколько ему захочется. Однако я не уверен, как это работает с Мастером из-за формы управления. Вы можете попробовать и вернуть обратную связь :)

+0

Ах да, я подумал об этом, однако я забыл упомянуть, что для каждого дополнительного пользователя есть другая (довольно длинная) форма, которую необходимо заполнить. Так что это «пользователь »->« информация о пользователе »->« пользователь »->« информация о пользователе »и т. д., что делает его намного более сложным и означает, что формы больше не подходят для этой проблемы. – bodger

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