Django ManagementForm data is missing or has been tampered with

django, python

Solution

I have meet this problem.

The reason is there is NO something like `form-TOTAL_FORMS, form-INITIAL_FORMS and form-MAX_NUM_FORMS)` in your `POST` data.

You should use `{{ formset.as_p }}`, this will render the management_form data from the formset. If you want to make the custom formset rendering, you should not forget the management_form of the formset to let POST data be with the mangement_form data.

Problem

I keep getting the error: ``` [u'ManagementForm data is missing or has been tampered with'] ``` I can't figure out why either. Here is my view: ``` def CreateWorkout(request): WorkoutInlineFormSet = inlineformset_factory(workout,exercise) if request.method == "POST" : formset = WorkoutInlineFormSet(request.POST) if formset.is_valid(): formset.save(); else: formset = WorkoutInlineFormSet() return render_to_response('submit.html',{'formset': formset},context_instance=RequestContext(request)) ``` And here is my template: ``` <body> <form method="POST" action =""> {{ formset.management_form }} <table> {% for form in formset.forms %} {{ form }} {% endfor %} </table> </form> </body> ``` I've read that you have to include the `formset.management_form`, and I have. I thought that would be an easy fix, but I haven't been able to figure out the problem.

Original source

Related problems