在views.py中创建表单集:
ffact = formset_factory(Form,extra=somenum]))
fset = ffact(prefix='pfix')
在views.py中进行验证:
ffact = formset_factory(Form,extra=3))
fset = ffact(request.POST)
if fset_is.valid():
blah blah
这会导致异常类型:/ app / index /中的ValidationError
异常值:[u'ManagementForm数据丢失或已被篡改'] django-docs
确实提到了这一点。我不确定如何提供管理数据。我尝试了类似this的方法
try:
fset = ffact(request.POST)
except ValidationError:
fset = None
if fset and fset.is_valid():
blah blah
但是我仍然遇到同样的错误,有什么想法吗?谢谢。
最佳答案
管理数据是否在request.POST
中?
http://docs.djangoproject.com/en/dev/topics/forms/formsets/#understanding-the-managementform
以下信息必须位于request.POST
中:
data = {
'form-TOTAL_FORMS': u'1',
'form-INITIAL_FORMS': u'0',
'form-MAX_NUM_FORMS': u'',
}
有一个渲染隐藏字段的快捷方式:
{{ my_formset.management_form }}