我的表格中有3个字段。我有一个提交按钮和一个“添加其他字段”按钮。我知道我可以使用__init__表单类中的方法添加字段。我是Python和Django的新手,并且陷入了一个初学者的问题:我的问题是:当我单击“添加其他字段”按钮时,添加其他字段的过程是什么?是否需要再次呈现表单?我如何以及何时打电话__init__,甚至必须打电话?如何将参数传递给__init__?
3 回答
互换的青春
TA贡献1797条经验 获得超6个赞
我曾经遇到过必须动态创建带有动态字段的表单的情况。我用这个技巧做到了:
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)
那行得通。
添加回答
举报
0/150
提交
取消