如何在 django 中制作一个类似于谷歌表单的表单?用户可以在哪里根据需要添加或删除字段?用户最多可以添加10-20个字段?
Posted
技术标签:
【中文标题】如何在 django 中制作一个类似于谷歌表单的表单?用户可以在哪里根据需要添加或删除字段?用户最多可以添加10-20个字段?【英文标题】:How to make a form in django like google form? where user can add or delete field according to their need?User can add up to 10-20 field? 【发布时间】:2020-04-03 10:47:34 【问题描述】:需要创建表单,用户可以根据需要添加或删除字段,例如用户可以添加电子邮件、在表单中没有字段或喜欢家庭信息等,或者如果用户不想要该字段,他可以删除场地。我可以让你创建这个表单或字段的哪个 Django 属性。
【问题讨论】:
【参考方案1】:动态创建表单并不难,尽管您需要一些东西来确定每个请求应该包含什么。可以使用 (Python) type
的三参数形式。例如,
fields =
'foo': forms.CharField( max_len=80 )
'bar': forms.IntegerField()
MyForm = type( 'MyForm', (forms.Form, ), fields)
...
form = MyForm()
与
相同class MyForm( forms.Form):
foo = forms.CharField( max_len=80 )
bar = forms.IntegerField()
...
form = MyForm()
除了您可以动态构造fields
的内容,使用一些运行时实体来决定表单中应该包含哪些名称和类型的字段。
【讨论】:
以上是关于如何在 django 中制作一个类似于谷歌表单的表单?用户可以在哪里根据需要添加或删除字段?用户最多可以添加10-20个字段?的主要内容,如果未能解决你的问题,请参考以下文章