【Django(初学者向け)】超カンタン!クラスベースビュー「DeleteView」の書き方|ポイントをまとめました!

DeleteViewDjango

(最終更新月:2021年12月)

「クラスベースビューを使って削除ページを作りたい!」

「DeleteViewってどうやって使うの?」

というDjango初学者の方へ向けた記事となります

当記事では、

  • DeleteViewを継承し、削除ページを作る方法

について解説していきます

DeleteViewの書き方

DeleteViewの書き方のポイントは4つです

  1. DeleteViewのインポートと継承クラスの作成
  2. 「template_name」変数でHTMLテンプレートを指定
  3. 「model」変数へモデルクラスの代入
  4. 「success_url」変数で削除後のリダイレクト先を指定

具体的にコードを見てみましょう

コード例

from django.views.generic.edit import DeleteView

class NippoDeleteView(DeleteView):
    template_name = "nippo/nippo-delete.html"
    model = NippoModel
    success_url = reverse_lazy("nippo-list")

「CreateView」や「UpdateView」と似ていて、とてもシンプルにまとまってます

urls.py

URLとビュークラスを紐付けます

urlpatterns = [
...,
...,
path("delete/<int:pk>/", NippoDeleteView.as_view(), name="nippo-delete"),
....
]

ビュークラス.as_view()を忘れずに!

まとめ

アクセスするといかがでしょうか?

いきなり消えてしまっても困るので、BootstrapのModalを使って確認コメントと削除ボタンが表示されます

DeleteViewでは、

  • template_name
  • model
  • success_url

と3つの変数を指定することを覚えておきましょう

さて、色々とビュークラス等を追加した結果、urls.pyでのインポートを見てみると

from .views import NippoListView, NippoDetailView, NippoCreateFormView, NippoUpdateFormView, NippoDeleteView

と随分長く見にくい記述となっています

次回は、このインポートをスッキリ見やすくまとめる方法をお伝えします

当ブログでは、日報アプリ開発を通じて、Webアプリを一から開発し公開するまでを初学者の方でもわかるようにと記事を連載しています

「Djangoでのアプリ開発を学びたい!」
「Djangoで開発したアプリをWebで公開するにはどうするの?」

という方は必見です!

【Django】チュートリアル|日報アプリの開発から公開まで
Djangoのチュートリアルをお探しですか?具体的に「手を動かして作ってみたい!」という方へ向けて、誰でもできる簡易的な日報アプリの開発を通じて、Djangoの様々な機能に触れていくシリーズとなっています。PythonでWebアプリを作りたい方、必見の記事となります!
タイトルとURLをコピーしました