始め方
必要なものは下記の通りです。
- Python-2.5
- App Engine SDK Python
- Kay framework
macports を使って python25 を入れた場合は、他に下記もインストールしましょう。
- py25-hashlib
- py25-socket-ssl
- py25-pil
- py25-ipython
Kay のリリース版を使う場合は、下記のダウンロードページから tar ball を落として使います。リポジトリを追いかける場合は、mercurial で clone してください。
ダウンロードページ: http://code.google.com/p/kay-framework/downloads/list
clone するには:
$ hg clone https://kay-framework.googlecode.com/hg/ kay
プロジェクトを始める
kay の manage.py スクリプトでプロジェクトディレクトリを作る事ができます。
$ python kay/manage.py startproject myproject
$ tree myproject
myproject
|-- app.yaml
|-- kay -> /Users/tmatsuo/work/tmp/kay/kay
|-- manage.py -> /Users/tmatsuo/work/tmp/kay/manage.py
|-- settings.py
`-- urls.py
1 directory, 4 files
シンボリックリンクをサポートしているプラットフォームでは kay ディレクトリと manage.py へのシンボリックリンクが作成されます。後で kay の場所を動かすときっと動かなくなるのですが、そんな時はリンクを張り直してください。
アプリケーションを作る
出来たばかりの myproject ディレクトリに cd して、早速アプリケーションを作りましょう。
$ cd myproject
$ python manage.py startapp myapp
$ tree myapp
myapp
|-- __init__.py
|-- models.py
|-- templates
| `-- index.html
|-- urls.py
`-- views.py
1 directory, 5 files
こうして作成した myapp を動作させるにはもうひと手間必要です。settings.py の INSTALLED_APPS に登録します。必要なら APP_MOUNT_POINTS も登録します。下記の例では、アプリケーションをルート URL にマウントする例です。APP_MOUNT_POINTS を設定しない場合は、/myapp というようにアプリケーション名 URL にマウントされます。
settings.py
#$/usr/bin/python
#..
#..
INSTALLED_APPS = (
'kay.sessions',
'myapp',
)
APP_MOUNT_POINTS = {
'myapp': '/',
}
見れば分かると思いますが、INSTALLED_APPS はタプルで、APP_MOUNT_POINTS は dict になっています。
アプリケーションを動かす
作ったアプリケーションを動かしてみましょう。下記のコマンドで開発サーバが起動する筈です。
$ python manage.py runserver
INFO 2009-08-04 05:48:21,339 appengine_rpc.py:157] Server: appengine.google.com
...
...
INFO 2009-08-04 05:48:21,448 dev_appserver_main.py:465] Running application myproject on port 8080: http://localhost:8080
この状態で http://localhost:8080/ にアクセスすると、「Hello」又は「こんにちは」と表示される筈です。
GAE にアップロードする
GAE にアップロードするには、対象の appid を app.yaml の application に設定してから、下記のコマンドを使用します。
$ python manage.py appcfg update
成功すると、http://your-appid.appspot.com/ でアクセスできるようになります。
今日はここまでにしますね。けっこう簡単に始められる事がお分かりいただけたでしょうか。次回はモデル定義とか、フォームの自動生成などについてお話しする予定です。
当分このシリーズを続けるつもりなので、取り上げて欲しいトピックなどがあればコメントください。
3 comments:
0.7をcloneして試しましたが、appengineにアップロードするとTemplateNotFound: shipping/index.htmlで500Errorが返ります。
まだまったく中身を追いかけていませんが、取り急ぎ。
ちなみにWindowsXP/AppEngineSDK1.3です。
paptimus さん
launcher でアップロードしていませんか?
http://kay-docs-jp.shehas.net/manage_py.html#manage-py-appcfg
このへんに理由も書いていますが、jinja2 のテンプレートを事前に Python コードに変換してからアップロードするので、Kay の manage.py でアップロードした方が無難です。
launcher 使う場合は、アップロードの前に manage.py preparse apps とやればいけると思います。
tmatsuoさん
できました。ありがとうございます。
まだ触り始めたばかりですが、kayにはとても期待していますので、引き続きよろしくお願いします。
Post a Comment