我有一个ChoiceField我的Django表格:
gender = forms.ChoiceField(label='', choices=GENDER)
Run Code Online (Sandbox Code Playgroud)
我想添加一个class attr字段,以便我可以设计它.像下面这样的东西通常有效:
forms.Field(label="Display name",help_text='',widget=forms.TextInput(attrs={'class': 'wideInput'}))
Run Code Online (Sandbox Code Playgroud)
但是这对ChoiceField不起作用,我得到以下错误:
TypeError:init()得到一个意外的关键字参数'attrs'
我widget应该使用什么来为我的ChoiceField添加一个类?
bha*_*ral 50
我快速阅读了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
对于ChoiceField,defaultWidget是"Select"(如上面的链接所示).好的,知道正确的小部件,添加我刚才需要的类:
widget=forms.Select(attrs={'class':'regDropDown'})
Run Code Online (Sandbox Code Playgroud)
所以我的最后一行结束了:
gender = ChoiceField(label='', choices=SEX, widget=forms.Select(attrs={'class':'regDropDown'}))
Run Code Online (Sandbox Code Playgroud)
好哇!
小智 5
ChoiceField使用表单。选择小部件
forms.Select(attrs={"name": "select_0","class": "form-control"})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18323 次 |
| 最近记录: |