__init__() 得到了一个意外的关键字参数“attrs”
Posted
技术标签:
【中文标题】__init__() 得到了一个意外的关键字参数“attrs”【英文标题】:__init__() got an unexpected keyword argument 'attrs' 【发布时间】:2013-05-05 03:33:31 【问题描述】:forms.py
class ImportExcelForm(Form):
file = forms.FileField(attrs='class':'rounded_list',)
我正在尝试在表单中将 css 类添加到我的filefield
。我收到此错误"__init__() got an unexpected keyword argument 'attrs'"
我做错了什么。
谢谢
【问题讨论】:
【参考方案1】:attrs
不是字段的参数,而是小部件的参数。
file = forms.FileField(widget=forms.FileInput(attrs='class': 'rounded_list'))
请注意,某些浏览器不允许对文件输入进行样式设置。
【讨论】:
我试过你的回答,得到这个错误“在模块 event.views 中尝试了 contact_list。错误是:'module' 对象没有属性 'FileWidget'” 抱歉,应该是FileInput
,已更正。
为什么要隐藏按钮?那么就没有办法选择和上传文件了。
应该是forms.FileField
吗?【参考方案2】:
尽管@Daniel Roseman 发布的解决方案也是 Django 文档中推荐的解决方案,但它仍然对我不起作用。对我有用的是:
class ImportExcelForm(Form):
file = forms.FileField()
file.widget.attrs.update('class': 'rounded_list')
【讨论】:
这很有帮助,因为@Daniel 的某些解决方案对我不起作用:type = forms.ChoiceField(widget=forms.ChoiceField(attrs='disabled': 'disabled'))
但此表单有效type = forms.ChoiceField() type.widget.attrs.update('disabled': 'disabled')
以上是关于__init__() 得到了一个意外的关键字参数“attrs”的主要内容,如果未能解决你的问题,请参考以下文章
TypeError: __init__() 得到了一个意外的关键字参数 '__no_builder' Kivy
TypeError: __init__() 得到了一个意外的关键字参数“重新引用”
TypeError: __init__() 得到了一个意外的关键字参数“编码”
Django __init__() 得到了一个意外的关键字参数“用户”
__init__() 在 python/django 中得到了一个意外的关键字参数“mime”
TypeError:__init__() 得到了一个意外的关键字参数“categorical_features”:onehotencoder