Django 检索POST中带前缀的表单列表
我正在创建一个表单列表,每个表单都会传递一个。在我的例子中,前缀arg是一个动态值(此外,每个表单在初始化过程中还需要一些额外的kwarg),例如 因此,为了重新创建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
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()