动态生成 django 表单
Dynamically generate django forms
我正在尝试动态生成 python 类。在这里,一个 django 表单。
class BankForm(forms.Form):
name = forms.CharField()
for i in range(10):
setattr(BankForm, 'contact_' + str(i), forms.CharField())
但是在使用表单时,只有 name
字段出现。关于如何做有什么建议吗?
编辑:发现了 modelform_factory
,看起来这是一个解决方案
EDIT2:更好的是,看起来有一个 add_fields
方法我可以使用
您可以在表单的 __init__
方法中添加字段,如下所示:
class BankForm(forms.Form):
name = forms.CharField()
def __init__(self, *args, **kwargs):
super(BankForm, self).__init__(*args, **kwargs)
for i in range(10):
self.fields['contact_' + str(i)] = forms.CharField()
我正在尝试动态生成 python 类。在这里,一个 django 表单。
class BankForm(forms.Form):
name = forms.CharField()
for i in range(10):
setattr(BankForm, 'contact_' + str(i), forms.CharField())
但是在使用表单时,只有 name
字段出现。关于如何做有什么建议吗?
编辑:发现了 modelform_factory
,看起来这是一个解决方案
EDIT2:更好的是,看起来有一个 add_fields
方法我可以使用
您可以在表单的 __init__
方法中添加字段,如下所示:
class BankForm(forms.Form):
name = forms.CharField()
def __init__(self, *args, **kwargs):
super(BankForm, self).__init__(*args, **kwargs)
for i in range(10):
self.fields['contact_' + str(i)] = forms.CharField()