Python django表单使用不同的名称创建多个相同的输入

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 =

我目前正在尝试创建一个表单,它接受多个隐藏输入,通过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 = 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)