Python django表单使用不同的名称创建多个相同的输入
我目前正在尝试创建一个表单,它接受多个隐藏输入,通过javascript收集数据Python django表单使用不同的名称创建多个相同的输入,python,django,django-forms,Python,Django,Django Forms,我目前正在尝试创建一个表单,它接受多个隐藏输入,通过javascript收集数据 class NewCasePhotoForm(forms.Form): case_photo_1 = forms.CharField(required=False) case_photo_2 = forms.CharField(required=False) case_photo_3 = forms.CharField(required=False) case_photo_4 =
class NewCasePhotoForm(forms.Form):
case_photo_1 = forms.CharField(required=False)
case_photo_2 = forms.CharField(required=False)
case_photo_3 = forms.CharField(required=False)
case_photo_4 = forms.CharField(required=False)
case_photo_5 = forms.CharField(required=False)
case_photo_6 = forms.CharField(required=False)
case_photo_7 = forms.CharField(required=False)
case_photo_8 = forms.CharField(required=False)
case_photo_9 = forms.CharField(required=False)
case_photo_10 = forms.CharField(required=False)
case_photo_11 = forms.CharField(required=False)
case_photo_12 = forms.CharField(required=False)
case_photo_13 = forms.CharField(required=False)
case_photo_14 = forms.CharField(required=False)
case_photo_15 = forms.CharField(required=False)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for i, field in enumerate(self.fields):
self.fields[field].widget=forms.HiddenInput(
attrs={
'id': 'fileInput{}'.format(i+1)
}
)
有没有更好的干燥方法呢?您可以这样尝试:
class NewCasePhotoForm(forms.Form):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for i in range(1,16):
self.fields["case_photo_{}".format(i)] = forms.CharField(required=False)