今回はAdminサイトの構築。

Djangoはこれが売りらしい。

DBさえ与えてしまえばCRUDできるアプリが自動でできるっていうのはSalesforceに近い感じがする。

 

settting.pyを変更

  • INSTALLED_APPSの’django.contrib.admin’のコメントアウトを解除
  • python manage.py syncdb実行(実行しなくても大丈夫?かも)

 

urls.pyを変更(コメントアウトを削除)

python manage.py runserver で起動してlocalhost:8000/admin で管理画面にアクセス。

クレデンシャルはdjangoアプリで初めてsyncdbしたときに作成したもの

 

モデル毎の管理画面の設定

このままだとpollsアプリの管理画面が設定されていないのでpolls内にadmin.pyを作成

 

管理画面の項目を表示する順番の変更(admin.py)

 

セクションで分ける場合(admin.py)

 

関連リスト表記(admin.py)

 

インライン表記の方法を項目を列で区切る場合(admin.py)

ChoiceInlineの継承クラスを admin.StackedInline → admin.TabularInline

 

モデルのリストの列名を変更(admin.py)

PollAdminのプロパティに以下を追加する
list_display = (‘question’, ‘pub_date’, ‘was_published_recently’)

 

メソッドを列名に指定した時の設定(models.py)

対象メソッドに以下のようにプロパティを付与(ソーティングできたり列名変更したり)

 

リストの表記変更(admin.py)

PollAdminクラスに以下のプロパティを設定