Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django-一个视图中同一表单类的多个实例_Python_Django_Forms_Post_Django Forms - Fatal编程技术网

Python Django-一个视图中同一表单类的多个实例

Python Django-一个视图中同一表单类的多个实例,python,django,forms,post,django-forms,Python,Django,Forms,Post,Django Forms,在Django表单的上下文中,我看到了许多关于在同一页面上处理不同类型的表单的讨论(例如,在同一页面上处理AForm和BForm),但我正在试图弄清楚如何在一个页面上处理同一表单类的多个实例 我可以很好地显示表单,但是我不知道当表单是POSTed时如何处理它们 我也尝试过使用Formsets,但也有同样的问题(可以显示,但不知道如何处理POST) 所以我的问题是:假设我在一个页面上显示了几个相同的表单类的实例。提交这些表格时,我将如何处理POST数据 编辑: formset的问题是,我有一个自定

在Django表单的上下文中,我看到了许多关于在同一页面上处理不同类型的
表单
的讨论(例如,在同一页面上处理
AForm
BForm
),但我正在试图弄清楚如何在一个页面上处理同一
表单
类的多个实例

我可以很好地显示表单,但是我不知道当表单是
POST
ed时如何处理它们

我也尝试过使用
Formset
s,但也有同样的问题(可以显示,但不知道如何处理
POST

所以我的问题是:假设我在一个页面上显示了几个相同的
表单
类的实例。提交这些表格时,我将如何处理
POST
数据

编辑:

formset
的问题是,我有一个自定义表单,并且发现很难使用
formset
来处理
POST
数据

编辑2-提供@NeverWinner回复的更多详细信息

这是我的表格课:

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)

但是,表单不使用上述方法绑定:(

您可以使用参数在视图中初始化多个表单:

mother = PersonForm(request.POST, prefix="mother")
father = PersonForm(request.POST, prefix="father")

return render(request, 'some_template.html', {
    'mother': mother,
    'father': father,
})

我很感谢您的回答!这也正是我的想法,但我无法用这种方法绑定表单。我将在问题中添加更多关于我的
表单和绑定逻辑的细节,如果您能提供一些反馈,那就太好了。@John
PersonForm(request.POST,prefix=“mother”)
应该可以正常工作。如何在模板中呈现表单?这是模板中的呈现代码。我还在OP
questions
中添加了更多关于
form
子类的详细信息。
是表单列表:
{%forquestions%}{{question.as\p}{%endfor%}
@John在表单的
\uuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
中的一个小评论我想它应该是
超级(问题表单,self.\uuuuuuu!