Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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
Django 检索POST中带前缀的表单列表_Django_Django Forms - Fatal编程技术网

Django 检索POST中带前缀的表单列表

Django 检索POST中带前缀的表单列表,django,django-forms,Django,Django Forms,我正在创建一个表单列表,每个表单都会传递一个。在我的例子中,前缀arg是一个动态值(此外,每个表单在初始化过程中还需要一些额外的kwarg),例如 因此,为了重新创建POST请求的表单,我需要在会话中存储前缀值。这允许我执行以下操作: staff_list = request.session['staff_list_on_view'] for staff in stafflist: post_forms_dict[staff.id] = forms.BookingForm

我正在创建一个表单列表,每个表单都会传递一个。在我的例子中,前缀arg是一个动态值(此外,每个表单在初始化过程中还需要一些额外的kwarg),例如

因此,为了重新创建POST请求的表单,我需要在会话中存储前缀值。这允许我执行以下操作:

staff_list = request.session['staff_list_on_view']
    for staff in stafflist:
        post_forms_dict[staff.id] = forms.BookingForm(
            request.POST, prefix=staff.pk, event=event, type=type)

if all([form.is_valid() for form in post_forms_dict.values()]):
    for form in post_forms_dict.values():
        form.save()
这一切都很好,但我想知道是否有比在会话中存储前缀值更好的方法(我通常喜欢避免)。Django是否能够自己返回带前缀的表单列表,而无需我再次使用前缀(并且必须记住它)来重新创建它们?类似request.POST.get_前缀_data_as dict()的东西会更好;)


注意:我在查看表单集,但我相信我无法使用它们,因为我需要为每个表单设置动态KWARG。

是否在不同的位置(模块)从验证表单的代码生成表单?否-但问题不在于验证。我试图从post数据中创建前缀表单,因为只有在运行时才知道前缀。
staff_list = request.session['staff_list_on_view']
    for staff in stafflist:
        post_forms_dict[staff.id] = forms.BookingForm(
            request.POST, prefix=staff.pk, event=event, type=type)

if all([form.is_valid() for form in post_forms_dict.values()]):
    for form in post_forms_dict.values():
        form.save()