Django

Pythonフレームワーク「Django」のクラスベースビュー「TemplateView」「FormView」を利用してみた

Pythonフレームワーク「Django」には、views.pyに記載した画面遷移処理をクラスで記載できる「クラスベースビュー」がある。

今回は、MySQLのデータベースのテーブルにユーザー情報を登録する機能で利用する画面遷移処理を、クラスベースビューである「TemplateView」「FormView」を利用するように修正してみたので、そのサンプルプログラムを共有する。

なお、クラスベースビューについては、以下のサイトを参照のこと。
https://di-acc2.com/programming/python/5210/

前提条件

下記記事の実装が完了していること。

Pythonフレームワーク「Django」の「ModelForm」を利用してMySQLに接続してみたDjango(ジャンゴ)内の「ModelForm」を利用すると、データベースとアクセスするModelクラスと連動するFormを作成するこ...

サンプルプログラムの作成

作成したサンプルプログラムの構成は、以下の通り。
サンプルプログラムの構成
なお、上記の赤枠は、前提条件のプログラムから追加・変更したプログラムである。

demoフォルダ下、views.pyの内容は以下の通りで、TemplateViewクラスやFormViewクラスを継承するようにしている。

なお、TemplateViewクラスについては、以下のサイトを参照のこと。
https://di-acc2.com/programming/python/5269/

また、FormViewクラスについては、以下のサイトを参照のこと。
https://en-junior.com/formview/

さらに、demoフォルダ下、urls.pyの内容は以下の通りで、views.pyの各クラスとURLパスを紐付けている。

その他のソースコード内容は、以下のサイトを参照のこと。
https://github.com/purin-it/python/tree/master/django-templateview-formview/djangoApp

サンプルプログラムの実行

サンプルプログラムの実行結果は、下記記事の「サンプルプログラムの実行」と同じ結果となる。

Pythonフレームワーク「Django」の「ModelForm」を利用してMySQLに接続してみたDjango(ジャンゴ)内の「ModelForm」を利用すると、データベースとアクセスするModelクラスと連動するFormを作成するこ...

要点まとめ

  • Pythonフレームワーク「Django」には、views.pyに記載した画面遷移処理をクラスで記載できる「クラスベースビュー」があり、クラスベースビューには「TemplateView」や「FormView」等がある。
  • 「TemplateView」クラスを利用すると、指定したHTMLテンプレートファイルの画面表示を行うことができる。
  • 「FormView」クラスを利用すると、指定したフォームクラスと連動するチェック処理やデータベース登録処理を行うことができる。