DEV Community

kaede
kaede

Posted on

Django Tutorial Part 4 -- admin ページでテーブルの中身を編集する

https://docs.djangoproject.com/en/4.0/intro/tutorial02/#introducing-the-django-admin


DB管理ページ用のスーパーユーザーを作る

https://docs.djangoproject.com/en/4.0/intro/tutorial02/#creating-an-admin-user

docker-compose run web \
python manage.py \
createsuperuser
Enter fullscreen mode Exit fullscreen mode

createsuperuser を打つ

Creating rest0406_web_run ... done

Username (leave blank to use 'root'): kaede0902
Email address: kaede0902js@gmail.com

Password: 
Password (again): 

Superuser created successfully.
Enter fullscreen mode Exit fullscreen mode
  • ユーザー名
  • メアド
  • パスワード

これらを要求されるので入力して作成した。


localhost:8000/admin にアクセスして Django の DB 管理ページにログインする

docker-compose up
Enter fullscreen mode Exit fullscreen mode

runserver で動かす

Image description

localhost:8000/admin
Enter fullscreen mode Exit fullscreen mode

にアクセスすると

http://localhost:8000/admin/login/?next=/admin/
Enter fullscreen mode Exit fullscreen mode

login/?next=/admin/ にリダイレクトされて管理画面のログイン画面が出る

ユーザー名とパスワードでログインできる。
メアドとパスワードではログインできない。

Image description

Groups と Users のテーブルができている。

Users のテーブルにアクセスしてみる。


Users のテーブルを Django Admin から編集する

Image description

ここで ADD USER を押すことで

Image description

新しいユーザーを作成できる。
createsuperuser コマンドで作る時よりバリデーションが厳しい。

permissin や First/Last name やメアド、最終ログイン日時を編集できる。

web_1  | [14/Apr/2022 13:46:56] "GET /admin/jsi18n/ HTTP/1.1" 200 3195
Enter fullscreen mode Exit fullscreen mode

サーバーを見ると GET /admin/userId/ が動いてる


polls アプリを admin ページに反映させる

https://docs.djangoproject.com/en/4.0/intro/tutorial02/#make-the-poll-app-modifiable-in-the-admin

前回のチュートリアルで作成した polls アプリの Question や Choice のテーブルは admin ページには反映されていなかった。Groups と Users しかなかった。

なので反映させる設定を書く必要がある。

なので polls/admin.py のページに

from django.contrib import admin

from .models import Question

admin.site.register(Question)
Enter fullscreen mode Exit fullscreen mode

django の contrib ライブラリから admin をインポートして
models から Question のテーブルをインポートして

admin のサイトに Quesion のテーブルを登録する。

Image description

リロードすると Quesiton テーブルが Polls アプリのものとして表示されている。

Image description

アクセスすると Question テーブルの中身のリストが見れて

Image description

一つ一つ編集できる

追加も削除もできる。

Top comments (0)