HTML
Django
python3

django で checkbox

はじめに

あ、すみません、全然たいしたことない記事です・・。
django を使ってて、form の checkbox を html に直接書くのではなく、
django の form を使いたかったんですけど、少しハマったので記事にします。

checkbox で docs を調べると...

widget の CheckboxInput とかが引っかかります。
だがしかし! これではありません。
docs にもありますが、widget は html の表現を操作するためのクラスなので、
実際は form の BooleanField を使います。

from django import forms


class CheckForm(forms.Form):
    read_terms = forms.BooleanField(
        label='read terms',
        required=True,
        widget=forms.CheckboxInput(attrs={'class': 'check'}),
    )

おわりに

僕は form と widget の関係がよくわかってなかったので、しばらくハマってました 👼
have a good django life!