__init __()得到了一个意外的关键字参数'attrs'

时间:2013-05-10 12:37:24

标签: django django-forms django-templates

forms.py

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

我正在尝试将css类添加到表单中的filefield。我收到此错误"__init__() got an unexpected keyword argument 'attrs'"

我做错了什么。

由于

2 个答案:

答案 0 :(得分:10)

attrs不是该字段的参数,它是小部件的参数。

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

请注意,某些浏览器不允许设置文件输入样式。

答案 1 :(得分:1)

尽管@Daniel Roseman发布的解决方案也是Django文档中推荐的解决方案,但它仍然对我不起作用。对我有用的是:

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