0
有没有办法让我改变ChoiceFields在django中从下拉列表表示到类似按钮的方式,每个选项都有不同的选择?在django中将ChoiceField列出为Button
有没有办法让我改变ChoiceFields在django中从下拉列表表示到类似按钮的方式,每个选项都有不同的选择?在django中将ChoiceField列出为Button
如果您只需要更改样式,则可以将css类作为属性传递。见Docs
select_media = forms.ChoiceField(widget=forms.Select(
attrs={'class': 'btn btn-primary'}),
choices=MEDIA_CHOICES)
如果您需要更精细的定制,你可以覆盖默认控件模板和放置任何HTML你want.See的docs here。以下代码适用于Django 1.11
class CustomSelectWidget(forms.Select):
template_name: 'yourapp/select.html'
option_template_name = 'yourapp/select_option.html'
class CustomForm(forms.Form):
MEDIA_CHOICES = (
(1, 'DVD'),
(2, 'VCD'),
(3,'USB')
)
select_media = forms.ChoiceField(widget=CustomSelectWidget(
attrs={'class': 'btn btn-primary'}),
choices=MEDIA_CHOICES)
'yourapp/select_option.html'是放置模板的地方吗?我可以使用忍者吗?我只是想确定。 –
所以只是为了澄清事情。我想要做的是列出选项,而不是下降。我可以使用for循环并在模板文件中创建一个选项列表吗? –
@Ammar Yassir,你可以把你的模板放在任何django可以找到的地方,但yourapp/select_option.html是人们期望找到它的位置。 YOu可以使用jinja –