如何向模板添加可变数量的ModelForms?

时间:2016-04-15 17:10:39

标签: python django django-models django-forms

我正在尝试创建一个页面,我可以根据用户的需要创建尽可能多的对象。

为简单起见,有一个简单的模型:

UPDATE  `table_name` SET  `Time` =  `$_POST[submit_time]` ,
`Form` =  `$_POST[form_name]` ,
`Field` =  `$_POST[field_name]` ,
`Value` =  `$_POST[field_value]` ,
`Order` =  `$_POST[field_order]` ,
`File` =  `$_POST[file]` WHERE  `Time` =  `$_POST[hidden]` ;

有一个表格:

class Person(models.Model):
    name = models.CharField(max_length=40)
    surname = models.CharField(max_length=40)

现在我想要的是允许用户尽可能多地创建“人”。所以一开始,他们只能看到一两个class PersonCreationForm(forms.Form): class Meta: model = Person fields = '__all__' ,但他们可以自己添加另一种形式。

事实上,在我的情况下,它可能是有限的(假设最多20个表格)

像底部的+那样:

Here you can see something similar

我已经尝试过这个绝望的事情:

PersonCreationForm

我已阅读有关{% for i in "xxxx" %} # tried to create 4 forms... {{ person_creation_form | crispy }} {% endfor %} 的文档,但它没有帮助。

表单集:

views.py:

FormSets

人-creation.html:

from django.forms import formset_factory
PersonCreationFormSet = formset_factory(PersonCreationForm,extra=2,max_num=1)

def PersonCreationView(request):
    formset = PersonCreationFormset()
    return render(request,'person-creation.html',context={'formset':formset}

没有其他什么是低(额外或max_num),较低的数字是html中的表格数量,我无法调用新表格)

0 个答案:

没有答案