すごい簡単にですけど例を書きます(参考になるかは別ですが)
値を入力するテンプレート
HTML
1<form action="hoge" method="post">
2 <input type="text" name="title">
3</form>
Submit後に飛ぶ views.py
Python
1class TestView(TemplateView):
2 def post(self, request):
3 # リクエストから入力値の取得
4 title = self.request.POST.get("title")
5 # 自作したバリデーション関数を呼んでエラーメッセージを受け取る
6 data = check_val(title)
7 # 画面の再描画
8 return render(request, "hoge.html", data)
9
10def check_val(title):
11 # エラーメッセージ詰める用
12 data = {}
13 # 適当に必須チェックとかしてみる
14 if not title or len(title) == 0:
15 data['title_err'] = "タイトルが入力されていません"
16 else:
17 data['title_err'] = ""
18 # エラーメッセージを返却
19 return data
エラーメッセージを表示するテンプレート
HTML
1<p>{{title_err}}</p> <!-- エラーメッセージの表示 -->
↑ エラーメッセージを配列で詰めて {% for %} 使ってエラーメッセージ表示とかしたほうが簡単そう
ちなみに登録/更新/削除はFormを使わずともできる(雑な例)
python
1# 登録
2TestMaster.objects.create(title=title)
3
4# 更新
5TestMaster.objects.filter(test_id=test_id).update(title=title)
6
7# 削除
8TestMaster.objects.filter(test_id=test_id, title=title).delete()
9