Django on Jython
JythonでDjangoが動くとか書いてあったので、試してみました。
環境
- Windows XP
- Java: 1.6.0_07
- Jython: SVNからの最新版(Rev.5303)
Java、Antなどのインストール手順は省略します。
基本的にここ(http://wiki.python.org/jython/DjangoOnJython)に書いてありますけど。
尚、不具合っぽいんですが、Javaのインストール先(JAVA_HOME)に半角スペースが含まれているとJythonが起動しません・・・。Windowsのデフォルトのインストール先はC:\Program Files\Java\jdkxxx なので注意してください。
Jythonのインストール
今リリースされている、2.5aだと動作しないので、SVNからtrunkをチェックアウトして、antでbuildします。
svn co https://jython.svn.sourceforge.net/svnroot/jython/trunk/jython/ jython-dev
cd jython-dev
ant
続いて(設定していなければ)JAVA_HOMEと、JYTHON_HOMEを環境変数に設定。
Jythonの起動は、次のコマンドで行う。
必要に応じてPATHに追加してください。
プロジェクトの作成
%JYTHON_HOME%\binにdjango-admin.pyが作成されているので、これを使ってプロジェクトを作成します。
jython %JYTHON_HOME%\bin\django-admin.py startproject j_site
__init__.pyとかにあわせて、__init__$py.classとかクラスファイルが作成されています。
続いてサーバを起動してみましょう。
cd j_site
jython manage.pyValidating models...
0 errors foundDjango version 1.0-final-SVN-unknown, using settings 'j_site.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
JVMが起動するまで少し時間がかかりますが、起動したようです。早速ブラウザでhttp://127.0.0.1:8000/j_siteにアクセスしてみましょう。
お、しっかりと認識しているようです。
簡単なレスポンスも定義してみましょう。urls.pyを編集してこんな感じに。
from django.conf.urls.defaults import * from django.http import HttpResponse def index(request): return HttpResponse('<html><body>Hello Django on Jython</body></html>') urlpatterns = patterns('', (r'^j_site/', index), )
OK、ちゃんと表示されています。
まあ、細かいところを動かしていれば不具合はいっぱいあるでしょうが、DjangoをJythonで動かせる日も近いってことで。