DjangoのAdminを試す

2016-10-09   treby   技術メモ   このエントリーをはてなブックマークに追加
最近の私は基本的にはRailsユーザーなのですが、お仕事の関係でDjangoとも触れ合う機会をいただきまして。ここまで見よう見まねでやってきましたが分からんものは分からん、と。
そういえば「技術メモ」カテゴリがあったな、と思い至り独学のモチベーションにアウトプットすることにしてみました。

自分の身につけるためにはアウトプット大事。きっと。

virtualenvという概念が使われる

Pythonで一番面白いのが、virtualenvという仮想環境を作るところ。これにより、プロジェクトごとにPythonの環境を分けることができる様子。rbenvのようなものかしら。
$ mkvirtualenv --python=/usr/local/bin/python3.5 myenv
$ (myenv)
ちなみにworkonコマンドで任意の環境に切り替えることができる。
$ workon myenv
$ (myenv)

Getting Started

Rubyのrubygemsに相当するものが、Pythonではpipになる。
$ pip install django
django-admin startproject で新しいプロジェクトを作る。
$ django-admin startproject myprj
Djangoの考え方として一つのプロジェクトの中に複数のアプリがある構成になる様子。ちょっとこの辺癖がある。
$ ls myprj
.
├── manage.py
└── myprj
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py
プロジェクトと同じ名前のディレクトリがメインのアプリのようす。

pipの慣習として、プロジェクトの依存関係はrequirements.txtのようなファイルに記述するようです。これはbundlerでいうところのGemfileやnpmでいうところのpackage.jsonに相当するもの、だと思う。

Djangoプロジェクトの管理(migrationやサーバの起動)はmanage.py を起点に行う。
とりあえず動かすなら、
$ python manage.py migrate
$ python manage.py runserver
$ open localhost:8000
でいける。

デフォルトでAdminツールが準備されている

DjangoにはデフォルトでAdminツールが整備されていて、http://localhost:8000/admin でアクセスできる。ログインするためのユーザーは
$ python manage.py createsuperuser
で作成できる。