我正在尝试显示一个广播组而不是默认下拉列表。我的表格如下:
class ConditionForm(forms.ModelForm):
state = forms.ChoiceField(choices=STATE_TYPES, widget=forms.RadioSelect())
class Meta:
model = Customer
fields = ('state',)
我也试过这个: class ConditionForm(forms.ModelForm):
class Meta:
model = Customer
fields = ('state',)
widgets = {
'state': forms.RadioSelect(),
}
我的模型看起来像这样:
STATE_TYPES = (
(0, 'Type 2'),
(1, 'Type 1'),
)
class Customer(models.Model):
state = models.IntegerField(choices=STATE_TYPES, default=0, null=True)
created_at = models.DateTimeField(auto_now_add = True)
updated_at = models.DateTimeField(auto_now = True)
我的模板如下:
{{ form.state }}
这会输出一个下拉菜单,而不是4个单选按钮。
我做错了什么?
答案 0 :(得分:1)
我认为我的css中存在问题并使用django小部件调整。我从django widget调整中删除了添加css并将其添加到表单中并且它有效。
像这样:
state = forms.ChoiceField(choices=STATE_TYPES, widget=forms.RadioSelect(attrs={'class':'radio_1', 'name': 'name2'}))
答案 1 :(得分:0)
您应该只输出字段,而不是遍历其属性。只是:
{{ form.state }}