Trouble posting un-checked checkbox value in django
Your browser is what posts the value as 'on'.  This is normal behavior for checkbox inputs without value="blah" attribute set.  If it is always posting as 'on' even when the checkbox isn't checked then perhaps there is something on the browser side that is setting this.
I am finding trouble in posting the state of a checkbox in a Django form (Django v1.2).
Here's the field in my model:  
subscribe = models.BooleanField(default=False, verbose_name="Subscribe")
In the relevant template file:  
{{ form.subscribe }}
This renders the checkbox as un-checked initially. But when I post the form (without touching anything else), django sends u'subscribe': [u'on'] in request.POST. That is, the response always contains u'subscribe': [u'on'] irrespective of whether the checkbox is checked or not.
When the checkbox is not checked, the <input> tag in template is rendered as
<input type="checkbox" name="subscribe" id="id_subscribe" /> 
And, when the checkbox is checked, it is rendered as
<input type="checkbox" name="subscribe" id="id_subscribe" checked="checked" />
Am I missing anything here?