__init__() got an unexpected keyword argument 'attrs'

attrs is not an argument to the field, it's an argument to the widget.

file = forms.FileField(widget=forms.FileInput(attrs={'class': 'rounded_list'}))

Note that some browsers don't allow styling of the file input.


Even though the solution posted by @Daniel Roseman is also the one recommended in Django docs, it still didn't work for me. What worked for me is the following:

class ImportExcelForm(Form):
    file  = forms.FileField()
    file.widget.attrs.update({'class': 'rounded_list'})