我有一个FormSet来生成Member对象。
class MemberBuilder(forms.Form):
first_name = forms.CharField(max_length=128)
last_name = forms.CharField(max_length=128)
role = forms.CharField(max_length=128)
FormSet
MemberFormSet = formset_factory(MemberBuilder, max_num=30)
我想以这样的方式显示此表单中的字段。
因此,当我单击Add Member时,会在下面生成另一组字段。
我可以在html中使用一些jquery生成其他字段。
是否有pythonic / Django方法可以做到这一点?
答案 0 :(得分:1)
我不确定如何在python / django中执行此操作,但在rails中你会将其发布到create操作但是使用javascript响应,然后在执行的脚本响应中你将使用jquery更新页面(确保表单助手中的表单remote: true
设置为当然)。
那就是说,一些简单的谷歌foo提出了这个:
我认为这个可能是最有帮助的,因为它与你正在做的类似: http://stellarchariot.com/blog/2011/02/dynamically-add-form-to-formset-using-javascript-and-django/
看看他们中的任何一个,他们都应该帮忙。
我毫不怀疑有人可能会编写更深入的技术帖子,但它的工作方式可能类似于我的建议。
编辑:更好的方法是让响应脚本调用客户端函数来执行此操作,这样响应有效负载甚至更小,因此您的响应更快。另外,让响应脚本触发该功能意味着您可以确保服务器端的内容也已正确执行。