Django のインストールからプロジェクトの作成まで
最近、Django を触り始めました。 初めて Django を知る前、Dwango の間違いかと思っていたのは恥ずかしい思い出...
環境は以下の通りです。
- MacOS X 10.6.4
- Python 2.6.5
- Django 1.2.3
Django のダウンロード
Django | Download http://www.djangoproject.com/download/
Django-1.2.3.tar.gz
を適当な場所にダウンロードし、解凍します。
$ wget http://www.djangoproject.com/download/1.2.3/tarball/
$ tar xzvf Django-1.2.3.tar.gz
$ cd Django-1.2.3
$ sudo python setup.py install
インタプリタを開いて、Django が import できるか確認してみます。
$ python
Python 2.6.5 (r265:79063, Sep 1 2010, 21:41:05)
[GCC 4.2.1 (Apple Inc. build 5659)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>>
正常に import できました。
django-admin.py
django-admin.py のシンボリックリンクを張ります。
sudo ln -s /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/django-admin.py /usr/local/bin/
django-admin.py で色々な事ができるみたい。
参考:django-admin.py と manage.py — Django v1.0 documentation http://djangoproject.jp/doc/ja/1.0/ref/django-admin.html
プロジェクトの作成
基本的に Django のチュートリアルに従っています。
参考:はじめての Django アプリ作成、その 1 — Django v1.0 documentation http://djangoproject.jp/doc/ja/1.0/intro/tutorial01.html
プロジェクトを作成するディレクトリに移動
$ cd hoge/
$ django-admin.py startproject mysite
$ ll
total 0
drwxr-xr-x 3 chocoby staff 102B 10 20 23:05 .
drwxr-xr-x 13 chocoby staff 442B 10 20 22:59 ..
drwxr-xr-x 6 chocoby staff 204B 10 20 23:05 mysite
$ cd mysite/
$ ll
total 24
drwxr-xr-x 6 chocoby staff 204B 10 20 23:05 .
drwxr-xr-x 3 chocoby staff 102B 10 20 23:05 ..
-rw-r--r-- 1 chocoby staff 0B 10 20 23:05 __init__.py
-rw-r--r-- 1 chocoby staff 546B 10 20 23:05 manage.py
-rw-r--r-- 1 chocoby staff 3.3K 10 20 23:05 settings.py
-rw-r--r-- 1 chocoby staff 482B 10 20 23:05 urls.py
プロジェクトが作成されました。 ファイル構成は CakePHP に比べるとシンプルですね。
それぞれのファイルについて... **init.py**: ディレクトリが Python パッケージであることを Python に知らせるための空のファイル、ということ。 manage.py: CakePHP でいう cake みたいなものかな(django-admin.py も?) settings.py: CakePHP でいう config ディレクトリの中身に相当するファイルかな。 参考:Django の設定 — Django v1.0 documentation http://djangoproject.jp/doc/ja/1.0/topics/settings.html urls.py: URL ディスパッチャの設定。CakePHP でいう URL Routing ですね。 参考:**URL ディスパッチャ — Django v1.0 documentation** http://djangoproject.jp/doc/ja/1.0/topics/http/urls.html
開発用サーバーの起動
プロジェクトのルートで
$ python manage.py runserver
すると開発用サーバーが起動できます。 これだけ!すごく楽ちんですね。
ポート番号を変更したい時は runserver の後にポート番号を指定します。
$ python manage.py runserver 8080
にアクセスしてみます。
無事、表示されました! CakePHP の初期ページ比べるとかなりシンプルですね。
データベースの設定
今回は SQLite を使用します。
DATABASES = {
'default': {
'ENGINE': 'sqlite3',
'NAME': '/Users/chocoby/hoge/mysite/sqlite.db',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}
SQLite を使用する場合、設定する項目は ENGINE と NAME だけ。 NAME はデータベースファイルをフルパスで指定します。
データベースの作成
$ sudo python manage.py syncdb
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_user_permissions
Creating table auth_user_groups
Creating table auth_user
Creating table auth_message
Creating table django_content_type
Creating table django_session
Creating table django_site
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): yes
Username (Leave blank to use 'root'):
E-mail address:
Password:
Password (again):
Superuser created successfully.
Installing index for auth.Permission model
Installing index for auth.Group_permissions model
Installing index for auth.User_user_permissions model
Installing index for auth.User_groups model
Installing index for auth.Message model
No fixtures found.
manage.py syncdb でデータベースとテーブルが作成されます。 途中で、管理者ユーザーを作成するか?と聞かれるので作成しておきます。 Username を指定しなければ root になります。
今回はここまで。 日頃 CakePHP を使用しているので、どうしても CakePHP 比較してしまうのですが、Django(や Python)はとてもシンプルだなぁ、と思います。 ワクワクしてきたぞ!
次はモデルの作成からです。