Doge log

Abby CTO 雑賀 力王のオフィシャルサイトです

Djangoで遊ぶ その1

Pythonで話題のWebフレームワークDjangoで遊んでみた。
Ruby on Railsへの回答としてかなり評判の高いDjango
日本ではあんまり流行ってないみたいだけどけっこーすごい。
チュートリアルをやりながら勉強していく。
とりあえずはDjangoのインストールから。
Download Django | Django
よりダウンロード。
書いてある通りにインストール。

python setup.py install

pythonのLib下のsite-packages以下にDjango-0.91-py2.4.eggが出来てればOKです。
えーっと本当はmod_pythonの設定とかあるんですがめんどいのでやりません。
Djangoにはpythonで書かれたBaseHttpServerが同梱されています。
rubyでいうwebrickみたいもん)
開発時はこれを使った方が楽そうなのでコレを使います。
次はプロジェクトを作ります。
プロジェクトはWebアプリケーション土台と思ってもらってよいでしょう。

django-admin.py startproject myproject

これで終了。django-admin.pyは以下にあるのでめんどい人はpathを通しておきましょう。
site-packages/django/bin/django-admin.py
ここで気がついた人は偉い。
Djangoフレームワーク自体にサポートツールが同梱されているのです!
(確かRailsそうだったはずです。pluginとか探さなくてもよいのです。)
こういったものはjavaフレームワークだとあんまりないかも。
(知らないだけか?antのファイルを用意してるものあるかな?)
まあその辺は置いておいて。
コマンドを実行すると

myproject/
    __init__.py
    manage.py
    settings.py
    urls.py

と言う風にプロジェクトができます。
ざっくしとした説明は以下。

  • manage.py

utility的なコマンドです。かなり使います。
(サーバの起動、テーブルの作成、シェルの起動など)

  • settying.py

プロジェクトの設定です。
(DB設定、テンプレートの設定、モジュール設定など)

  • url.py

URLとロジックのマッピング設定です。
strutsstruts-config.xmlに近いかな)
早速動作確認をしてみましょう。
起動コマンドは以下。

manage.py runserver

これで

Validating models...
0 errors found.

Starting server on port 8000 with settings module 'myproject.settings'.
Go to http://127.0.0.1:8000/ for Django.
Quit the server with CONTROL-C (Unix) or CTRL-BREAK (Windows).

と出るはず。
この状態でhttp://localhost:8000にアクセスして画面が出れば成功です。
とりあえず今日はここまで。
うくく。