doramochi blog

doramochi blog

趣味で学んだプログラミングの知識を綴っていきます

Djangoを使ってみる④(Modelの作成~管理画面の使用)

自作ブログへ移行しました
hachidev.com

modelの作成

models.pyの編集

test_appフォルダの中にある「models.py」を編集しmodelを作成することでDBのテーブル設計が出来る。

例えば下記の様なデータ構造を作りたい場合
テーブル名:book_list

本の名前(book_name) 作者(author) 出版社(publisher) 価格(price)
入門 Python 3 Bill Lubanovic オライリージャパン 4070
独習Python 山田 祥寛 翔泳社 3300
・・・ ・・・ ・・・ ・・・

models.pyに下記のように追記する。

from django.db import models

# Create your models here.
class book_list(models.Model):
    book_name = models.CharField(max_length=200)
    author = models.CharField(max_length=200)
    publisher = models.CharField(max_length=200)
    price = models.CharField(max_length=200)

※field type一覧:
https://docs.djangoproject.com/en/3.2/ref/models/fields/#model-field-types
※field option一覧:
https://docs.djangoproject.com/en/3.2/ref/models/fields/#field-options

マイグレーションファイルの作成

settings.pyを開き、INSTALLED_APPSにアプリケーションを追加する。

makemigrationsコマンドを実行。
コマンド例:python manage.py makemigrations test_app

「book_list」というmodelが作成される。

modelをデータベースに反映

migrateコマンドを実行し、modelをデータベースに反映させる。
コマンド例:python manage.py migrate

これでデータベースにbook_listというテーブルを作成することが出来た。
modelを確認するため、管理画面を有効化してみる。

管理画面の使用

管理者ユーザーの作成

管理画面を使用するために管理者ユーザー (スーパーユーザー) を作成する。
コマンド:python manage.py createsuperuser
ユーザー名やメールアドレス、パスワードを入力する。
パスワードは8文字以上設定する必要があるので注意。

admin.pyの編集

管理画面でmodelを見るために、modelを登録する必要がある。
「test_app」フォルダに含まれているadmin.pyを開き、以下のように記述する。

from django.contrib import admin
from test_app.models import book_list #追加

# Register your models here.
admin.site.register(book_list) #追加


管理画面へログイン

これまで通り
python manage.py runserver 127.0.0.1:8000
でサーバを起動させる。
起動後、ブラウザから
http://127.0.0.1:8000/admin/
へアクセスする。

ログイン画面が出てくるので先ほど設定したユーザー名とパスワードを入力してログインする。

ログインに成功すると下記のような画面が表示される。
「Book_lists」が表示されていればmodelの登録は問題なくできている。

データ登録

先ほどの「Book_lists」クリックすると下記の様な画面が表示される。。

『「BOOK_LIST」を追加+』をクリックすると下記の様なデータ登録画面が表示される。

最初の例に挙げた2つのデータを登録してみる。

データが登録されると下記のように「book_list object」というのが2つ生成される。
各リンクをクリックすると、データの中身を編集することも可能。