Django

Pythonフレームワーク「Django」を利用したアプリで更新・削除機能を追加してみた

Pythonフレームワーク「Django」には、削除・更新機能を実装するときに便利な「DeleteView」「UpdateView」というクラスベースビューがある。

今回は、作成済の「Django」を利用したアプリケーションに、削除・更新機能を追加してみたので、そのサンプルプログラムを共有する。

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

前提条件

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

Pythonフレームワーク「Django」を利用したアプリで一覧画面を表示してみたPythonフレームワーク「Django」には、一覧画面を表示する際に利用する「ListView」というクラスベースビューがある。 ...

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

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

demoフォルダ下、templatesフォルダ下の一覧画面(list.html)の内容は以下の通りで、更新・削除を行うためのリンクを追加している。

また、demoフォルダ下、urls.pyの内容は以下の通りで、更新・削除を行うためのURLを追加している。

さらに、demoフォルダ下、views.pyの内容は以下の通りで、削除を行うためのDeleteViewクラスを継承したViewクラス、更新を行うためのUpdateViewクラスを継承したViewクラスを追加している。また、確認画面の「送信」ボタンが押下された場合に、user_dataテーブルのデータを(追加だけでなく)更新できるようにしている。

また、demoフォルダ下、templatesフォルダ下の削除確認画面(delete_confirm.html)を追加している。

さらに、demoフォルダ下、templatesフォルダ下の入力画面・確認画面に、ユーザーIDをhiddenで渡す処理を追加している。

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



削除または保存していないWordドキュメントの復元方法【4DDiG Windowsデータ復元】ワード(Word)データ等のファイルを誤って削除してしまった場合は、通常はデータの復元ができませんが、4DDiGというソフトウェアを利用...

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

サンプルプログラムの実行結果は以下の通りで、user_dataテーブルの更新・削除ができることが確認できる。

1) 実行前のuser_dataテーブルの中身は、以下の通り。

サンプルプログラムの実行結果_1

2) コマンドプロンプトでDjangoプロジェクト名のフォルダに移動し、コマンドプロンプトで「python manage.py runserver」コマンドを実行して、Webサーバーを起動する。
サンプルプログラムの実行結果_2

3) Webブラウザを起動し、「http://127.0.0.1:8000/demo/」にアクセスすると、以下のように、user_dataテーブルの中身が一覧画面(list.html)に表示されることが確認できる。ここでID=4の「削除」リンクを押下する。
サンプルプログラムの実行結果_3

4) 以下のように、削除確認画面が表示されID=4のデータが表示されることが確認できる。ここで「戻る」ボタンを押下する。
サンプルプログラムの実行結果_4

5) 以下のように、一覧画面が表示され、先ほど削除リンクを押下したID=4のデータが表示されることが確認できる。ここで再度「削除」リンクを押下する。
サンプルプログラムの実行結果_5

6) 削除確認画面で「削除」ボタンを押下する。
サンプルプログラムの実行結果_6

7) 以下のように、一覧画面に遷移し、ID=4のデータが削除されていることが確認できる。ここでID=3の「更新」リンクを押下する。
サンプルプログラムの実行結果_7

8) 以下のように、入力画面が表示されID=3のデータが表示されることが確認できる。ここで「戻る」ボタンを押下する。
サンプルプログラムの実行結果_8

9) 以下のように、一覧画面が表示され、先ほど更新リンクを押下したID=3のデータが表示されることが確認できる。ここで再度「更新」リンクを押下する。
サンプルプログラムの実行結果_9

10) 入力画面でデータを編集後、「確認」ボタンを押下する。
サンプルプログラムの実行結果_10_1

サンプルプログラムの実行結果_10_2

11) 確認画面で「送信」ボタンを押下する。
サンプルプログラムの実行結果_11

12) 以下のように、完了画面に遷移することが確認できる。ここで「一覧画面に戻る」ボタンを押下する。
サンプルプログラムの実行結果_12

13) 以下のように、一覧画面に遷移し、更新後のデータが表示されることが確認できる。
サンプルプログラムの実行結果_13

14) 実行後のuser_dataテーブルの中身は以下の通りで、削除・更新内容が反映されていることが確認できる。

サンプルプログラムの実行結果_14

要点まとめ

  • Pythonフレームワーク「Django」には、データベースの削除・更新をするのに便利な「DeleteView」「UpdateView」というクラスベースビューがある。