準備

ちゃんとインストールできたかな?

さて、ちゃんとDjangoがインストールできたか確認してみましょう。
チュートリアルを見てみると

Django がインストールされているかどうかは、 Python 対話シェルを起動して import django を実行してみればわかります。 エラーなく import できるなら、 Django はインストールされています。

http://michilu.com/django/doc-ja/tutorial01/

とのことです。
Python 対話シェル」とか言われても
難しくてよく分からないので
そのままコンソールで「python」って打ってみました。

>python
Python 2.5.1 (r251:54863, Aug  9 2007, 02:10:39) 
[GCC 4.0.1 (Apple Computer, Inc. build 5363)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

多分これっぽいです。


そのまま

>>> import django

と打っても何もおこりません。
多分これがエラー無くimport出来たって事だと決めつけて
次に行こうと思います。



と、その前に例の対話シェルの終了の仕方ですが

>>> exit
Use exit() or Ctrl-D (i.e. EOF) to exit

exitと打ち込むと怒られます。
あまりこの辺を深く突っ込むと
PythonのZEN*1の伝道師に怒られますので
あまり気にせずにCtrlを押しながらdを押して終了しましょう。

もっと確認!!

エラーが出ないのでDjangoの準備は完成です。
とか言われてもあまりに寂しいので
もう少し弄ってみましょう。
適当なディレクトリで

>django-admin.py startproject mysite

と打つとmysiteというディレクトリが出来ます。
ここにアプリケーションを作っていくんだと思います。

いきなり起動!!……失敗!!

さて、先ほど出来たmytiteディレクトリへ移動すると

  • __init__.py
  • manage.py
  • settings.py
  • urls.py

というファイルがあります。

プロジェクトがうまく動作するか確かめましょう。 mysite ディレクトリに移 り、 python manage.py runserver を実行してください。

http://michilu.com/django/doc-ja/tutorial01/

と書いてありますので早速実行してみましょう。

>python manage.py runserver
Validating models...
Unhandled exception in thread started by <function inner_run at 0x11c45b0>
Traceback (most recent call last):
  File "/opt/local/lib/python2.5/site-packages/django/core/management/commands/runserver.py", line 40, in inner_run
    self.validate(display_num_errors=True)
  File "/opt/local/lib/python2.5/site-packages/django/core/management/base.py", line 60, in validate
    num_errors = get_validation_errors(s, app)
  File "/opt/local/lib/python2.5/site-packages/django/core/management/validation.py", line 21, in get_validation_errors
    from django.db import models, connection
  File "/opt/local/lib/python2.5/site-packages/django/db/models/__init__.py", line 3, in <module>
    from django.core import validators
  File "/opt/local/lib/python2.5/site-packages/django/core/validators.py", line 11, in <module>
    import urllib2
  File "/opt/local/lib/python2.5/urllib2.py", line 88, in <module>
    import hashlib
  File "/opt/local/lib/python2.5/hashlib.py", line 133, in <module>
    md5 = __get_builtin_constructor('md5')
  File "/opt/local/lib/python2.5/hashlib.py", line 60, in __get_builtin_constructor
    import _md5
ImportError: No module named _md5

よく分からないけどなにやら間違ってる気が凄くします。
明らかにドキュメントに書いてあるメッセージと違います。
僕は英語が分からないのでよく分からないのですが
これは多分、「エラー」というのが発生していると推理しました。


僕の学説で行くと
「_md5」というモジュールが無いような気がします。
モジュールが何かもさっぱり分かりませんが
僕の中の学説的には凄い進歩です。
「_md5」って言うのもよく分かりませんが
「めっせーじだいじぇすと」とかと関係あるかもしれません。


でも、僕は学者じゃないので
そこを突き詰めるより、動くようにしたいと思いました。
そこで

>sudo port install py25-hashlib

と打ってみました。
もう、MacPorts入ってない人はついてこなくなっちゃいそうですが
多分、他のOSでも同じようなモノだと思います。

再チャレンジ!!

さて、さっきの呪文で何かが起こっているはずなので
もう一度チャレンジしてみます。

>python manage.py runserver
Validating models...0 errors foundDjango version 0.97-pre-SVN-unknown, using settings 'mysite.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

なにやらうまくいった気配です。

さあ、これでサーバが起動したので、ブラウザで http://127.0.0.1:8000/ にアク セスしてみてください。 "Welcome to Django" と表示された、愉快げなパステル調 のライトブルーのページが出るはずです。やったね!

http://michilu.com/django/doc-ja/tutorial01/

とありますので、早速 http://127.0.0.1:8000/ にアクセスしてみましょう。

一瞬「Welcome to Django」が表示されてないのかと思いました。
多分、Djangoに嫌われてるのだと思い、そっとブラウザを閉じようと思ったら
タイトルに書いてあることが分かりました。
Djangoは中々に照れ屋さんですね。


何はともあれ準備は完了したようです。
なんかコマンド打ってるだけで
さっぱりPythonもhtmlも書いてませんが
サーバが起動してオシャレっぽい画面まで表示されました。
すごいですねDjango

*1:眼鏡ッコのこと