猿问

动态将字段添加到表单

我的表格中有3个字段。我有一个提交按钮和一个“添加其他字段”按钮。我知道我可以使用__init__表单类中的方法添加字段。


我是Python和Django的新手,并且陷入了一个初学者的问题:我的问题是:


当我单击“添加其他字段”按钮时,添加其他字段的过程是什么?


是否需要再次呈现表单?


我如何以及何时打电话__init__,甚至必须打电话?


如何将参数传递给__init__?



偶然的你
浏览 908回答 3
3回答

互换的青春

我曾经遇到过必须动态创建带有动态字段的表单的情况。我用这个技巧做到了:from django import forms...dyn_form = type('DynForm',  # form name is irrelevant                (forms.BaseForm,),                {'base_fields': fields})请参阅此链接以获取更多信息: 动态表单但是除此之外,我还必须注入字段,即在创建表单类后将其动态添加到表单类中。dyn_form.base_fields['field1'] = forms.IntegerField(widget=forms.HiddenInput(), initial=field1_val)dyn_form.base_fields['field2'] = forms.CharField(widget=forms.HiddenInput(), initial=field2_val)那行得通。
随时随地看视频慕课网APP
我要回答