raise Http404
if request.method == 'POST':
form = form_class(request.POST, request.FILES)
- if form.is_valid():
- form.save(request)
+ formsets = []
+ valid = form.is_valid()
+ for formset in getattr(form, 'form_formsets', ()):
+ fset = formset(request.POST, request.FILES)
+ if not fset.is_valid():
+ valid = False
+ formsets.append(fset)
+ if valid:
+ form.save(request, formsets)
return redirect('contact_thanks', form_tag)
else:
form = form_class(initial=request.GET)
+ formsets = []
+ for formset in getattr(form, 'form_formsets', ()):
+ formsets.append(formset())
return render(request,
['contact/%s/form.html' % form_tag, 'contact/form.html'],
- {'form': form}
+ {'form': form, 'formsets': formsets}
)