• データ操作と管理画面

    前回は、データベースの作り方について学んでいきました。

    データベースで作ったデータを簡単に操作するためには、管理画面を使うと簡単です。

    ですので、まずは管理画面の使い方について学んでいきましょう。

    管理画面とは

    管理画面は、データベースの情報などを管理しやすいように、djangoが予め作っているデータ操作画面のことです。

    この管理画面を使うことによって、データを簡単に管理することができます。

    管理画面ははじめから作られている

    ここで、あらためてBookprojectフォルダの中のurls.pyファイルを見てみましょう。

    コード
    

    urls.py

    ...

    urlpatterns = [

      path('admin/', admin.site.urls),

      path('book/', include('booklibrary.urls')),

    ]

    urlpatternsの下にpath('admin/', admin.site.urls)というコードがあることが分かります。このコードは、このurls.pyファイルを開いた時にすでに書かれていました。

    実は、このadmin.site.urlこそが管理画面のことです。

    つまり、localhost:8000/admin/というurlにアクセスすることで、admin.site.urls(管理画面)に行くことができるのです。

    実際にアクセスしてみる

    実際に管理画面にアクセスしてみましょう。

    $ python manage.py runserver

    上記のコマンドでサーバーを立ち上げて、localhost:8000/admin/とブラウザに打ちます。

    すると、管理画面が表示されます。

    djangoの管理画面ログイン

    ユーザー名とパスワードを求められますが、管理画面用のユーザーはまだ作ってはいません。

    実は、djangoではターミナルで管理画面用のユーザーを作ることができます。

    ですので、ターミナルで管理画面用のユーザー(superuser)を作っていきましょう。

    superuserを作る

    管理画面にログインする時に使われるユーザーのことを、djangoではsuperuserと呼びます。

    実際にsuperuserを作ってみましょう。

    superuserを作るためには、ターミナルでこのようなコマンドを打ちます。

    $ python manage.py createsuperuser

    このコマンドを打つと、superuserのユーザー名やパスワードが求められますので、入力をしてsuperuserを作ります。

    superuserでログイン

    無事にsuperuserを作ることができましたので、superuserでログインをしていきます。

    ログインをすると、このような画面が表示されました。

    ログイン後の画面

    GroupsとUserという表示がありますが、これはユーザーなどを管理するために使われます。

    ただ、前回の記事で作成したBookModelが見当たりません。

    実は、新しくモデルを作成した場合、そのモデルを管理画面に読み込ませないといけないのです。

    hello worldの章で、新しくアプリを作った時、settings.py内のinstalled appに追記してアプリを認識させましたが、それと同じようなイメージです。

    早速、新しく作ったモデルを管理画面に読み込ませる方法について見ていきましょう。

    管理画面にモデルを読み込ませる方法

    管理画面にモデルを読み込ませるには、アプリにあるadmin.pyというファイルを使います。

    このadmin.pyファイルはアプリを作った時に自動的に作られるファイルです。

    早速admin.pyファイルを開き、設定を加えていきましょう。

    コード
    

    admin.py

    from django.contrib import admin

    from .models import BookModel    ← new!

    admin.site.register(BookModel)    ← new!

    models.pyファイルからBookModelを読み込み、さらにadmin.site.register(BookModel)でBookModelを管理画面に読み込ませていることが分かります。

    このコードを追加した上で、再び管理画面を見てみましょう。

    管理画面にアプリを関連付け

    booklibraryアプリの中で、BookModelというデータが作成されていることが分かります。

    次に、BookModelに実際にデータを追加してみましょう。

    緑のAddボタンを押します。

    すると、以下のような画面がでてきます。

    データの追加画面

    Bookname、Summary、Ratingにそれぞれ内容を入力し、右下のSAVEをクリックすることによって、データを保存することができます。

    これで、データベースにデータを保存することができました。

    作成したデータの削除や編集も管理画面で行うことができます。

    複雑なコードは書いていないにも関わらず、こういった沢山の操作ができるのがフレームワークの強みです。

    次の記事では、データベースに保存されたデータをhtmlファイルで表示する方法について学んでいきましょう。

    ~Django無料講義~のご案内

    Code for Djangoが、4時間超の無料Django講義をはじめました

    •  ・本を出版したCode for Djangoの
       製作者が作ったサイトです。
    •  ・Code for Djangoの内容も、
       動画で詳しく解説しています。
    •  ・動画は順次ふやしていきますので、
       ただで学び続けることが可能です。
    •  ・Djangoの効率的なスキルアップに、
       是非お役立て下さい。