Виджет CheckboxInput в формах Django
Флаг «да / нет» (согласие
с правилами, «запомнить меня»)
дают полем BooleanField.
Его виджет по умолчанию -
CheckboxInput:
from django import forms
class SignupForm(forms.Form):
email = forms.EmailField()
agree = forms.BooleanField(
label='I agree',
)
В cleaned_data будет
True или False.
Если чекбокс обязателен
(как согласие), пустая отправка
не пройдёт валидацию.
Сделайте чекбокс agree
на BooleanField.
Сделайте необязательный чекбокс
subscribe
(required=False).