Google App Engine PythonでDjango1.2を使うまでの道のり

GoogleAppEngine(GAE)はPythonが使えるのでぜひ利用させていただくべしなのですが、ずっとDjangoありきで書いてきちゃったもんで、GAEでもDjango使いたいんです。しかも、1.2。

まぁ別にwebapp使えばいいだけの話なんですけど、やはり使い慣れたDjangoが一番ですよね。まぁDjangoじゃヘビーすぎるからもっと軽快にwebappやFlaskでいいじゃんっていうのもありますが。

Pythonは2.5、Djangoは1.2.5を使います。simplejsonも事前にインストールしておきましょう。AppEngineSDKのインストールとかはGoogleさんが詳しく説明してくれています。今回使ったSDKのバージョンは1.5.2。古いとDjango1.2は動かなかったりするようです。

Djangoでプロジェクトを作るときは「django-admin.py startproject hogehoge」ですが、今回は別の手法を取ります。「Google App Engine Helper for Django」という便利なものを使わせて頂きます。事前にダウンロードしておいてください。

  1. 例えば「guestbook」というアプリを作りたいという前提で進めます。任意の場所のguestbookというフォルダを作ります。中は空でいいです。
  2. そして、ダウンロードしてきたGoogle App Engine Helper for Djangoを解凍し、生成されたフォルダの中身をguestbookフォルダの中にコピーします。guestbookフォルダの直下にappengine_djangoフォルダがあればOK。
  3. app.yamlをテキストエディタで開き、一行目の「application: google-app-engine-django」を「application: guestbook」に書き換え、manage.pyとmain.pyの「InstallAppengineHelperForDjango()」を「InstallAppengineHelperForDjango(‘1.2’)」に書き換えます。まぁアプリケーション名と使用するDjangoのバージョンを書くだけですね。
  4. GoogleAppEngineLauncherを起動し、アプリケーションを登録します。新規じゃなくて、既存のアプリケーションを登録してください。ここではguestbookフォルダを選択するだけです。
  5. GoogleAppEngineLauncherでguestbookを選択、「Run」をクリック。左のアイコンが緑の矢印になったら起動成功です。「Browse」をクリックしてDjangoのいつもの「It workd!」が出たら成功!

長くなったので今回はここまで。アプリケーションの追加とかは後日続き書きます。というか、そっから先は普通のDjangoなので不要かな。