(最終更新月:2021年12月)
「クラスベースビューを使って削除ページを作りたい!」
「DeleteViewってどうやって使うの?」
というDjango初学者の方へ向けた記事となります
当記事では、
- DeleteViewを継承し、削除ページを作る方法
について解説していきます
当記事はアプリ開発~公開までをご紹介しているシリーズの一記事になります
最終的には、下記リンク先のような日報アプリを開発、公開できるように進めていきます
https://nippo.itc-app.site/
ようこそ!簡易日報アプリ「D-Repo」へ!こちらは無料で使える日報アプリのデモサイトになります!「Webアプリはとてもカンタンで便利!」を感じてみよう!
興味のある方は下記よりシリーズをまとめたページへお進みください

【Django】チュートリアル|日報アプリの開発から公開まで
Djangoのチュートリアルをお探しですか?具体的に「手を動かして作ってみたい!」という方へ向けて、誰でもできる簡易的な日報アプリの開発を通じて、Djangoの様々な機能に触れていくシリーズとなっています。PythonでWebアプリを作りたい方、必見の記事となります!
DeleteViewの書き方
DeleteViewの書き方のポイントは4つです
- DeleteViewのインポートと継承クラスの作成
- 「template_name」変数でHTMLテンプレートを指定
- 「model」変数へモデルクラスの代入
- 「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アプリを作りたい方、必見の記事となります!