我一直在出错:

[u'ManagementForm data is missing or has been tampered with']

我也不明白为什么。这是我的观点:
   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))

这是我的模板:
<body>
<form method="POST" action ="">
{{ formset.management_form }}
<table>
 {% for form in formset.forms %}
            {{ form }}
        {% endfor %}

        </table>
</form>
</body>

我已经读到你必须包括formset.management_form,我也有。我原以为这是一个简单的解决办法,但我还没能解决这个问题。

最佳答案

我遇到了这个问题。
原因是在你的form-TOTAL_FORMS, form-INITIAL_FORMS and form-MAX_NUM_FORMS)数据中没有类似POST的东西。
您应该使用{{ formset.as_p }},这将从表单集呈现管理表单数据。如果要进行自定义表单集呈现,则不应忘记表单集的管理表单,以使发布数据与管理表单数据一起使用。

07-28 07:24