0
ChoiceFieldsをdjangoでドロップダウンリストからそれぞれ異なる選択肢を持つボタンに変える方法を変更する方法はありますか?ボタンとしてdjangoにChoiceFieldを列挙する
ChoiceFieldsをdjangoでドロップダウンリストからそれぞれ異なる選択肢を持つボタンに変える方法を変更する方法はありますか?ボタンとしてdjangoにChoiceFieldを列挙する
スタイルを変更するだけであれば、cssクラスを属性として渡すことができます。あなたが細かいカスタマイズが必要な場合は、デフォルトのウィジェットのテンプレートをオーバーライドして、あなたがdocs hereをwant.SeeどんなHTML置くことができますDocs
select_media = forms.ChoiceField(widget=forms.Select(
attrs={'class': 'btn btn-primary'}),
choices=MEDIA_CHOICES)
を参照してください。下のコードは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は人々がそれを見つけることを期待している場所です。あなたはjinja –