This drove me crazy for about 30 minutes.
If you’re making a heavily customized form template with Django, the newforms documentation suggests this format:
But, if you do any sort of non-field specific (form-level) validation, those validation messages won’t be returned to the user. So, instead of seeing a message like, “Both password fields must match,” the form just reloads without a explanation, confusing our poor end-users (and me for about 30 minutes)!
A quick #django IRC session later and I had the answer:
I’m no professional developer, but a lack of Google search results for this matter inspired me to make a quick post and tag it well so future Django form template customizers don’t pull their hair out.
(Sorry to post the code as images, but [hosted] WordPress doesn’t escape HTML enclosed in code blocks! Ridiculous.)