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

新手上路,请多包涵

表格.py:

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

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

我做错了什么?

谢谢。

原文由 user2086641 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 530
2 个回答

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

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

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

原文由 Daniel Roseman 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

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

原文由 Milosz 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题