app-engine-patchすごいよ

Google Code Archive - Long-term storage for Google Code Project Hosting.
なんかレビューを待ってる人がいるとか、いないとか。あんまり使い込んでみてはないけどとりあえず紹介。

これを使うことで何が嬉しいか

GAEのDjangoで使えなかった以下のものが使えます。(他にもあると思う

  • contenttypes(GenericRelationはまだ使えない)
  • auth
  • admin
  • flatpages
  • generic view(ragendja)
  • manage.py

一番大きな点は、authとadminが使えることだと思います。
adminはDjangoの中でも重要な機能なので、これが使えることで開発や運用はかなり楽になります。
contenttypesではまだGenericForeignKeyは使えないそうですが、これも汎用のアプリケーションを書くためには必須なので嬉しいです。
manage.pyのコマンドはDjangoと多少異なりますが、runserver/shell/test/dumpdataなどが使えて、追加でいくつかの便利なコマンドもあります。
また、ragendjaというdjangoのアプリケーションが入っており、これにも便利な機能(関数)がたくさんあります。
ちなみにDjangoのModelは使えません。AppEngineのModelを使用することになります。

使い方

英語ですがドキュメントがあります。
http://code.google.com/p/app-engine-patch/wiki/GettingStarted
以下からサンプルをダウンロードしてきます。
http://code.google.com/p/app-engine-patch/
manage.py runserverでそのまま動かせます。

自分のプロジェクトに組み込むには、common, manage.pyをコピーしてurls.pyとsettings.pyを作成する必要があります。

こんな人におすすめ

  • Djangoを使ったことがある人
  • GAEで管理画面を作ろうとしてる人
  • GAEでDjangoのアプリケーションを使いたい人(Modelなどの書き直しは必要)

気にするべき

今後GAEがどうなるかはわかりませんが、たとえばGAE側でDjangoのサポートがもっと強力になるとこれは必要なくなるかもしれません。
また、今は作者の方が一人?でひたすら開発しているみたいなので、その人が手放すとメンテが止まってしまうかもしれません。パッチを送ったりして支援すると良いと思います。

まとめ

Adminが使えたりすることでGAEの可能性が広がるので、是非使ってみるべき。