DjangoのAdminを試す
最近の私は基本的にはRailsユーザーなのですが、お仕事の関係でDjangoとも触れ合う機会をいただきまして。ここまで見よう見まねでやってきましたが分からんものは分からん、と。
そういえば「技術メモ」カテゴリがあったな、と思い至り独学のモチベーションにアウトプットすることにしてみました。
自分の身につけるためにはアウトプット大事。きっと。
pipの慣習として、プロジェクトの依存関係はrequirements.txtのようなファイルに記述するようです。これはbundlerでいうところのGemfileやnpmでいうところのpackage.jsonに相当するもの、だと思う。
Djangoプロジェクトの管理(migrationやサーバの起動)は
とりあえず動かすなら、
そういえば「技術メモ」カテゴリがあったな、と思い至り独学のモチベーションにアウトプットすることにしてみました。
自分の身につけるためにはアウトプット大事。きっと。
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
で作成できる。