Djangoをインストールする(前編)
ちょっとDjango(PythonのWebフレームワーク)を使ってみることになりまして、Macローカルにインストールした手順を記しておきます。
ご注意
Django使い始めたばかりなので、勘違いして理解している点があると思います。それはご了承の上ご覧ください。
Django Official Website
Officialページ以外で最も参考にしたサイト
http://blog.manbolo.com/2013/05/02/build-and-deploy-a-django-project-on-osx-from-scratch
インストール諸条件
- Django v1.6
- Mac Mavericks (v10.9.4)
- Python v2.7(Mac OS添付版)
- Apache v2.2(Mac OS添付版)
- Database MySQL 5.5
Command Line Tool、Homebrewは予め入れておいてください。MySQLもインストール済み、Apacheは使える状態になっているとします。
大まかな流れ
- Django本体のインストール
- pipをインストール
- Djangoをインストール
- MySQLdbをインストール
- Southインストール
- 新規プロジェクト作成
- 新規プロジェクト(mysite)作成
- データベースを作成する
- Migration(South)設定
- 開発ページを表示
- Hello World
- ディプロイ設定
長くなるので、この記事では#1-2のみを掲載し、続きの#3-4は後ほどUpします。
Django本体のインストール
まずはDjango自体をMacローカルにインストールします。事前にCommand Line ToolとHomebrewをインストールしておいてください。
pipをインストール
pipをインストールします。pipとはPythonのモジュールのインストール管理ツールで、perlにおけるcpanみたいなものらしい。
下記のサイトで配布している”get-pip.py”をDLして実行するのみです。手順も下記サイトのInstall pipに書かれています。
https://pip.pypa.io/en/latest/installing.html
Djangoをインストール
Djangoをインストールします。いくつか方法があり、公式ページで紹介されています。
https://www.djangoproject.com/download/
開発中の最新版を使う場合はgithubからインストールする必要がありますが、ここでは最新の安定版v1.6.5をpipでインストールします。
その前に・・・
古いDjangoが入っている場合は、削除しておきます。”site-packages”フォルダ内のdjangoフォルダを削除しておきます。”site-packages”フォルダの場所は、次のコマンドで探せます。>>参考
python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
インストール自体は下記コマンド1発でOK
pip install Django==1.6.5
一度動作確認をしておきます。
Pythonシェルを開きます
python
Djangoのバージョン確認。
>> import django >> print(django.get_version())
インストールしたバージョン番号”1.6.5″が表示されればOKです。
MySQLdbをインストール
Djangoで第1のお勧めデータベースはPostgreSQLらしいですが、MySQLも対応しているとのこと。今回は使い慣れたMySQLを使うことにします。MySQLdbは、Python-MySQLのやり取りをするためのモジュールです。
pipでインストールします。
pip install mysql-python
Southをインストール
Migrationツール”South”をインストールしておきます。Migrationとは、データベースについて記述したスクリプトファイルを(モデル、models.py)を読み込んで、スクリプトで指定されたテーブルをデータベース上に新規作成する機能です。
インストールは、やはりpipを使います。
pip install South
新規プロジェクト作成
Djangoのプロジェクトを作成します。諸々の設定を行い、開発用サイトのadmin画面にログイン表示するところまで行います。
新規プロジェクト(mysite)作成
新しいプロジェクトを1つ作成してみます。今回は、ドキュメントフォルダの直下にDjangoProjectsというフォルダを作成し、その下に数々のプロジェクトを作成します。
cd ~ mkdir DjangoProjects cd DjangoProjects mkdir FirstProject cd FirstProject
プロジェクト格納フォルダ(FirstProject)に移動したら、プロジェクト作成コマンドを実行します。
django-admin.py startproject mysite
実行すると、次のようなツリーが自動作成されます。
/FirstProject |-/mysite |-manage.py |-/mysite |-__init__.py |-settings.py |-urls.py |-wsgi.py
以下、プロジェクトフォルダ=/FirstProject/mysiteと称することにします。
アプリを作成する
このプロジェクトで開発するアプリ(MyApp)を作成します。プロジェクトフォルダに移動して、下記コマンドを実行します。
python manage.py startapp MyApp
このコマンドを実行すると、自動的にプロジェクトフォルダ直下にテンプレートファイルが入ったMyAppフォルダが作成されます。
データベースを作成する
このプロジェクトで使用するデータベースを作成します。MySQLにログインしてデータベースを1つ新規作成します。
mysql> create database mysitedb;
このデータベースにDjangoからアクセスするためのユーザー&Passを設定します。
GRANT ALL PRIVILEGES ON mysitedb.* TO 'djangouser'@'localhost' IDENTIFIED BY 'password';
プロジェクトの設定
まずはsetting.pyを設定します。
言語設定をUTF-8に指定する。
LANGUAGE_CODE = 'utf-8'
タイムゾーンを日本に指定する。
TIME_ZONE = 'Asia/Tokyo'
データベースの設定を行う。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mysitedb', 'USER': 'djangouser', 'PASSWORD': 'password', 'HOST': '', 'PORT': '', } }
アプリの設定を行います。先に作成したアプリフォルダの名前”MyApp”と、Migration用モジュール”south”を追加します。
INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'south', 'MyApp', )
Migration設定
プロジェクトフォルダに移動して、下記のコマンドを実行します。
python manage.py schemamigration MyApp --initial
続いて下記コマンドを打ってMigrationを実行します。
python manage.py syncdb --migrate
途中で下記を聞かれたらyes
You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no):
続いてユーザー名、メールアドレス、パスワードが聞かれるので、入力します。
成功すると、データベースmysitedb内に、下記のようなテーブルが作成されます。
+----------------------------+ | Tables_in_mysitedb | +----------------------------+ | auth_group | | auth_group_permissions | | auth_permission | | auth_user | | auth_user_groups | | auth_user_user_permissions | | django_admin_log | | django_content_type | | django_session | | south_migrationhistory | +----------------------------+
なお今後モデルを書き換えるなどした場合は、下記コマンドでMigrationを行います。
python manage.py schemamigration MyApp --auto python manage.py migrate MyApp
開発用サイトを動かしてみる
プロジェクトフォルダに移動して、下記コマンドを実行する。
python manage.py runserver
ダーっと出て来たメッセージの中に、サーバーにアクセスするアドレスが書いてあるので確認しておきます。
Starting development server at http://127.0.0.1:8000/
確認したアドレスにアクセスします。
http://127.0.0.1:8000/
成功しました♥︎
続いて、アドレスに/admin/を追加してアクセスします。
先ほどMigrationを実行したときに入力したユーザ名とパスワードを入力します。
うまく動いたようです^^
続きの記事で、Hello worldの実行と、ディプロイ設定について書く予定です。
それでは、お疲れさまでした!