В контексте форм Django я видел много дискуссий по обработке различных типов form
s на одной странице (например, AForm
и BForm
на одной странице), но я пытаюсьпонять, как обрабатывать несколько экземпляров одного и того же класса form
на странице.
Я могу нормально отображать формы, но не знаю, как с ними обращаться, когда формы POST
изд.
Я также пытался использовать Formset
s, и у меня та же проблема (может отображаться, но не знаю, как обрабатывать POST
).
Итак, вот мой вопрос: допустим, я отображаю несколько экземпляров одного и того же Form
класса на странице.Как мне поступить с данными POST
при отправке этих форм?
Редактировать:
Проблема с formset
заключается в том, что у меня есть пользовательская форма и мне трудно использовать formset
для обработки POST
данных.
Правка 2 - предоставление более подробной информации с учетом ответа @ neverwalkaloner.
Вот мой класс форм:
class QuestionForm(forms.Form):
def __init__(self, question, data=None, *args, **kwargs):
super(QuestionForm, self).__init__(*args, **kwargs)
choice_list = [x for x in question.get_answers_list()]
self.fields['answers'] = forms.ChoiceField(choices=choice_list,
widget=RadioSelect)
self.fields['answers'].label = question.content
Я создаю различные формы с префиксом, например так: form = QuestionForm(question=question, prefix=prefix)
Затем обрабатываю данные POST следующим образом: form = QuestionForm(data=request.POST, question=question, prefix=prefix)
Тем не менее, формы не связываются с вышеуказанным подходом :(