I\'ve a settings page where users can select if they want to receive a newsletter or not.
I want a checkbox for this, and I want that Django select it if \'newsletter\'
models.py:
class Settings(models.Model):
receive_newsletter = models.BooleanField()
# ...
forms.py:
class SettingsForm(forms.ModelForm):
receive_newsletter = forms.BooleanField()
class Meta:
model = Settings
And if you want to automatically set receive_newsletter
to True
according to some criteria in your application, you account for that in the forms __init__
:
class SettingsForm(forms.ModelForm):
receive_newsletter = forms.BooleanField()
def __init__(self):
if check_something():
self.fields['receive_newsletter'].initial = True
class Meta:
model = Settings
The boolean form field uses a CheckboxInput
widget by default.