Django 管理サイトでデータを操作|構成と使用方法を徹底解説

DjangoアプリのAdminページからデータベースを操作しようDjango

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

当記事は、

「Adminページでテーブルを操作したい!」

「Adminページの見方・使い方を知りたい!」

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

当記事を通じて、

  • Adminページの構成について
  • Adminページでデータを操作する方法

を解説していきます!

まずはAdminページの構成を理解し先へ進みましょう

【著者プロフィール】

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

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

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

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

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

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

✔YouTube解説動画

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

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

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

Adminページの構成

Adminページには下記の機能を持ったページが存在します

  1. モデルクラス(テーブル)の一覧
  2. 各テーブル内の保存データ一覧
  3. データの新規追加
  4. データの詳細・編集・削除

4種類存在しますが、特に暗記する必要はありません

自身のアプリを立ち上げて下記を読み進めながら一緒に見ていきましょう

テーブルの一覧ページ

ログインして最初に出てくるページになります

DjangoアプリのAdminページ「テーブル一覧」

モデルクラス名をクリックするとテーブル内のデータ一覧へ移行します

登録データ一覧ページ

まだ作成したばかりのテーブル「NippoModel」の一覧ページへ入ってみます

当然まだ保存データはありません

右上の「NippoModelを追加」で新規にデータを登録してみましょう

データの新規追加

models.pyで作成したフィールドが表示され、それぞれ値を入力します

保存をすると、

Django Adminページでのデータ保存 一覧ページ

一覧ページへリダイレクトされ、無事データが保存されているのが確認できました

データの詳細・編集・削除

作成したデータを編集してみましょう

データ一覧ページで対象のデータ名をクリックし、編集画面へ進みます

好きな値に変更し、「保存」でアップデートは完了です

左下の「削除」を押すとデータが削除されます。

確認画面も表示されますが、消したくないデータでは下手に押さないよう気をつけましょう!

まとめ

以上の4つが主なデータ操作に関するページとなります

これらのページは、Webアプリで必要とされている「CRUD」に基づいた機能を備えています

CRUDとは、

  1. Create(新規作成)
  2. Retrieve(取得→データのリスト・詳細を表示)
  3. Update(編集)
  4. Delete(削除)

の略称であり、これからCRUDにまつわるページを作っていくので頭に入れておきましょう!

さて、Adminページでいくつか日報をつくって見て気づいた方もいらっしゃるかと思います

現状の一覧ページはこんな見た目になっています

これがもっと増えた時に、どれがどの日報かわからないですよね?

次回の記事では、各オブジェクトに名前をつける方法について解説していきます!

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

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

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

✔当ブログ掲載の記事

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

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

ITCへ投げ銭をする

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