ValidationError:[u'ManagementForm数据丢失或已被篡改'],当我尝试查看表单集时,它在Django模板页面上

问题描述 投票:1回答:1

Django版本1.8.7我正在创建一个页面,用户必须在其中添加除草对象列表,因此我需要在同一页面上多次使用相同的表单来创建受邀者的简单模型实例;为此,我使用了modelformset_factory函数的模型表单集。

所以在我的form.py中

class InviteesForm(ModelForm):
class Meta:
    model = Invitees
    fields = ['user', 'invitee_name' , 'invitee_address', 'invitee_count', 
   'invitee_email']
    exclude = ('user',)

#creating a formset 
InviteesFormSet = modelformset_factory(Invitees, form = InviteesForm )

上面您可以看到我的被邀请人模型的模型表单和使用modelformser_factory功能的InviteesFormSet。

在我的views.py中

def preview(request):
formset = forms.InviteesFormSet(queryset=Invitees.objects.all())
if request.method == 'POST':
    formset = forms.InviteesFormSet(request.POST)
    if formset.is_valid():
       formset.save(commit = False)   
       return redirect('/invitees/')         
else:
    formset = forms.InviteesFormSet(request.POST)
return render(request, 'preview.html', {'formset': formset} ) 

在我的Preview.html中

 <form action="/preview/" method='POST'>
    {% csrf_token %}  
    {{ formset.management_form }}
    <button type="submit">Add an Invitee</button>
    </form>

该表单集未在我的html中呈现,不确定在这里我在做什么错,这是基本代码!但我收到此错误

[u'ManagementForm数据丢失或已被篡改']

我尝试通过在模板页面的表单集上添加.management_form来尝试此处提到的解决方案:请参见此处https://docs.djangoproject.com/en/dev/topics/forms/formsets/#understanding-the-managementform

您能帮我解决问题吗?

谢谢

python django django-models modelform formset
1个回答
0
投票

来自您的代码

© www.soinside.com 2019 - 2024. All rights reserved.