我有一个ChoiceField
在我的 Django 表单中:
gender = forms.ChoiceField(label='', choices=GENDER)
我想添加一个class
attr
到现场,这样我就可以设计它。类似下面的东西通常有效:
forms.Field(label="Display name",help_text='',widget=forms.TextInput(attrs={'class': 'wideInput'}))
但这对于 ChoiceField 不起作用,我收到以下错误:
类型错误:init() 收到意外的关键字参数“attrs”
What widget
我应该使用它来向我的 ChoiceField 添加一个类吗?
我快速阅读了https://docs.djangoproject.com/en/1.4/ref/forms/widgets/ https://docs.djangoproject.com/en/1.4/ref/forms/widgets/
其中对小部件的关注 - 显然它们是
Django 对 HTML 输入元素的表示。小部件处理 HTML 的呈现
然后每个表单字段都绑定到一个小部件 - 请阅读:
https://docs.djangoproject.com/en/1.4/ref/forms/fields/#built-in-fields https://docs.djangoproject.com/en/1.4/ref/forms/fields/#built-in-fields
对于 ChoiceField,defaultWidget 是“Select”(如上面的链接所述)。好的,知道正确的小部件,添加我只需要的类:
widget=forms.Select(attrs={'class':'regDropDown'})
所以我的最后一行内容是:
gender = ChoiceField(label='', choices=SEX, widget=forms.Select(attrs={'class':'regDropDown'}))
Huzzah!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)