Help us understand the problem. What is going on with this article?

DjangoでWebサービスを作る - 2.アプリを作ってみる その3

More than 1 year has passed since last update.

前回の記事「アプリを作ってみる その2」ではMVTモデルのmodelの基本的な作り方を確認した。また記事にはしていないがチュートリアルでinteractive pythonからmodelを操作する方法を確認した。今回は引き続きチュートリアルに沿って管理者ページを見てみる。

記事一覧と開発環境

こちら

アプリを作ってみる その2

初回の手順で仮想環境を立ち上げておく

管理者アカウントを作る

サイトのトップフォルダ(mysite)で以下のコマンドを実行し、後は誘導されるがままにユーザ名やパスワードを入れるだけで作成できる。

python manage.py createsuperuser

パスワードの安全性等もデフォルトである程度コントロールされているが、この辺の詳細は追って確認したいと思う。

...
The password is too similar to the email address.
This password is too short. It must contain at least 8 characters.
This password is too common.
Bypass password validation and create user anyway? [y/N]: y
管理者ページを確認する

python manage.py runserverして.../adminページを確認する

と、ここで前回埋め込んでおいた地雷を踏む。

django_tutorial_02_3_1.JPG

sessionsがINSTALLED_APPにないと言っているので、前回コメントアウトしたデフォルトのAPP達をmysite/settings.pyに戻して保存する。
python manage.py showmigrationsしてみると、sessionsのmigrationファイルができていたようで、Xがついてないので実行してなそうだった。

...
polls
 [X] 0001_initial
sessions
 [ ] 0001_initial

ので再度python manage.py migrateしてみたところ、管理者ページにアクセスできた。
django_tutorial_02_3_2.JPG

デフォルトの管理画面はユーザの追加や権限設定ができる。Groupsを見てみると、作成したモデルに対する権限の設定も勝手にできるようになっている
django_tutorial_02_3_3.JPG

管理者画面にpollsを追加する
polls/admin.py
from .models import Question, Choice

admin.site.register(Question)
admin.site.register(Choice)

python manage.py startapp pollsをした時に自動で作られるadmin.pyにモデルをインポートして、admin.site.register(Class)するだけ。
django_tutorial_02_3_4.JPG

データ編集用の画面はモデルの定義に沿って自動でDateTimePickerだったりを作ってくれる。

次回はMVTのviewの部分を確認する。

参考文献

[1] Django - tutorial: Writing your first Django app, part 2

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした