from django import forms class MultipleFileInput(forms.ClearableFileInput): allow_multiple_selected = True class MultipleFileField(forms.FileField): def __init__(self, *args, **kwargs): kwargs.setdefault("widget", MultipleFileInput()) super().__init__(*args, **kwargs) def clean(self, data, initial=None): single_file_clean = super().clean if isinstance(data, (list, tuple)): result = [single_file_clean(d, initial) for d in data] else: result = [single_file_clean(data, initial)] return result class AdminUpload(forms.Form): def __init__(self,*args,**kwargs): forms.Form.__init__(self,*args,**kwargs) self.fields['indice'] = forms.FileField(required=False) self.fields['allegati'] = MultipleFileField(required=False) class formUtente(forms.Form): def __init__(self,*args,**kwargs): forms.Form.__init__(self,*args,**kwargs) self.fields['codicefiscale'] = forms.CharField(required=True) self.fields['nome'] = forms.CharField(required=True) self.fields['datanascita'] = forms.DateField(required=True) #,input_formats=['%d/%m/%Y',]) self.fields['luogonascita'] = forms.CharField(required=False) self.fields['password'] = forms.CharField(required=False) self.fields['mail'] = forms.CharField(required=False) self.fields['CancellaUtente'] = forms.BooleanField(required=False)