【超簡単】Django DeleteViewの書き方・基本を解説

DeleteViewDjango

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

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

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

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

当記事では、

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

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

【著者プロフィール】

profile_icon
【Python歴】11年 x 【Django歴】10年
HP作成、社内システムの構築、コンサルティング

当ブログを通じて、Webアプリの書き方やアプリの公開方法までを解説しています。

☆日報アプリ「D-Repo」(デモ版)→こちら

※Djangoをベースに作成したアプリです。

☆便利ツールアプリ「Tool Station」→こちら

※Django REST frameworkとReactで作成しているアプリです。

✔YouTube解説動画

当記事の内容は動画を見ながら進めると、約15分程度で完了します。

動画ならではの情報も解説しているので、記事と一緒にご覧ください。

動画の概要欄には、単元ごとのコードを紹介しているgithubページも載せています。

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()を忘れずに!

おまけ:ごちゃごちゃしたインポートをまとめよう

インポートしてるビュークラスをまとめる方法をお伝えします。

なぜなら、urls.pyのビューが以下のとおり、ごちゃごちゃしているからです。

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

方法はこちら。

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

( )を使って、改行をするのです。

まとめ

モダルで作成したデリートビューはこちら。

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

DeleteViewでは、以下の変数を忘れないようにしましょう。

  • template_name
  • model
  • success_url

さて、こちらのDjangoチュートリアルもクラスベースビューは完結です。

次回はユーザーモデルをカスタマイズし、ユーザー名でなく、Eメールアドレスでログインする方法をご紹介します。

✔当ブログは以下のような方に向けて書かれています

「Djangoでのアプリ開発を学びたい!」

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

✔当ブログ掲載の記事

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

ITCブログにご協力いただける方は、以下もご検討いただけると嬉しいです。

ITCへ投げ銭をする

タイトルとURLをコピーしました