はじめてのKay Framework

はじめに

Google App Engine(以下 GAE) アプリの開発スピードを上げるために、Kay Framework を導入することにしました。

ただ、導入に思いのほか時間がかかってしまったので、手順をメモしておきます。誰かの役に立てば幸いです。

今回試した環境は次の通り。

Windows のみ。Mac は持ってないので試せません。

Python 2.5 のインストール

python.org から 2.5 系の最新版を入手して、インストールします。

インストール先は、デフォルトの C:\Python25 のままでいいです。
環境変数の PATH に、Python2.5 のインストールフォルダを追加するのを忘れずに。

Google App Engine SDK for Python をインストール

最新の SDK ダウンロードしてインストールします。

インストール先はお好みでどうぞ。
私の場合、UAC がうるさいので、今回は C:\Program Files ではなく C:\google_appengine\ にインストールしました。

Kay Framework をインストールする

Download で公開されているアーカイブを入手します。面倒でないなら、mercurial を使って最新のソースコードを入手してもいいです。

Kay は GAE のホームディレクトリにインストールします。今回の場合は C:\google_appengine\kay です。

GAE のホームディレクトリ以外だと、開発用サーバーを起動して URL にアクセスしたときに、404 Not Found になってしまうので注意。

私はいつもの癖で、C:\google_appengine\lib\kay にインストールしてしまい、この問題に躓きました。起動時にエラーにならないので、インストール場所が間違っていることに気付かず、2日ほど潰したのはいい思い出です。

プロジェクトを作成

コマンドプロンプト起動して、C:\google_appengine\ に移動し、次のコマンドを実行します。

python kay/manage.py startproject myproject

myproject フォルダが作成されるはずです。
myproject フォルダの中には、プロジェクト関連のファイルと、kay フォルダと manage.py のシンボリックリンクがあります。

アプリ作成

myproject フォルダに移動して、次のコマンドを実行します。

python manage.py startapp myapp

myapp フォルダが作成されます。

settings.py を編集

settings.py を編集して、先ほど作成したアプリケーションを登録します。

# -*- coding: utf-8 -*-

"""
A sample of kay settings.

:Copyright: (c) 2009 Accense Technology, Inc. 
                     Takashi Matsuo <tmatsuo@candit.jp>,
                     All rights reserved.
:license: BSD, see LICENSE for more details.
"""

DEFAULT_TIMEZONE = 'Asia/Tokyo'
DEBUG = True
PROFILE = False
SECRET_KEY = 'ReplaceItWithSecretString'
SESSION_PREFIX = 'gaesess:'
COOKIE_AGE = 1209600 # 2 weeks
COOKIE_NAME = 'KAY_SESSION'

ADD_APP_PREFIX_TO_KIND = True

ADMINS = (
)

TEMPLATE_DIRS = (
)

USE_I18N = False
DEFAULT_LANG = 'en'

INSTALLED_APPS = (
    'myapp',
)

APP_MOUNT_POINTS = {
    'myapp' : '/',
}

# You can remove following settings if unnecessary.
CONTEXT_PROCESSORS = (
  'kay.context_processors.request',
  'kay.context_processors.url_functions',
  'kay.context_processors.media_url',
)

INSTALLED_APPS と APP_MOUNT_POINTS の2か所を修正。

アプリ起動

myproject フォルダ内で以下のコマンドを実行して、開発用サーバーを起動します。

python manage.py runserver

コンソールに「PIL が無い」や「Datastore が読み込めない」といった警告が出ますが、気にしなくていいです。
PIL の警告は、PIL をインストールすれば解決します。
Datastore ファイルの警告は、データストアにデータを保存すれば、ファイルが作成されて解決します。

http://localhost:8080/ にアクセスして、Hello と表示されたら成功。

GAE にデプロイ

app.yaml の application を変更したあと、次のコマンドを実行します。

python manage.py appcfg update

あとは http://[application].appspot.com/ にアクセスして、Hello と表示されたらデプロイ成功。

Kay で GAE アプリをサクサク開発できそう

アプリの実装では、Kay のオンラインドキュメントが非常に充実しているので、参考にするといいです。

認証やフォームが提供されるのは非常に助かります。使いこなせれば、開発のスピードが上がること間違いなし。