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 –