やりたい事とは少々アプローチが変わりますが、
フォームのバリデーションをクライアント側でも行ってはいかがでしょうか?
HTML上でバリデーションを行うメリットは、
ユーザーがPOSTする前にチェックが走るため、サーバーと通信する前にチェックを走らせることができるため、
余計な通信が行われず、ページがリロードされずに済みます。
本題のサーバー側でのバリデーションですが、
try exceptで例外処理
上記が書いてありますが、こちらはうまくいかなかったのでしょうか?
考え方としては良いかと思いますが、
Django側でエラーを出すこと自体あまりよろしくありません。
Djangoのformにはis_valid
が存在するため、
バリデーションが正しくなければメッセージを記載したHTMLを返すように変更するように行えばOKです
具体的なコードはdjango validationで検索すれば色々ブログは出てくると思うので省略
Like!