最近の更新履歴

このドキュメントについて

現在、このドキュメントは翻訳中です。翻訳は「伊藤 哲之輔」が2008/1 に開始しました。リンクのテキストに英語を含むものについては、リンク先はまだ英語版であることを意味しています。

誤訳等の指摘についてはhttp://tetsunosukelab.appspot.com/contact へお寄せください。

2009/3 共同執筆にTakayo Hamasaki氏を迎えました。今後とも充実させていこうと思います。

最新情報

  • 誤訳指摘用メールフォームを作成しました。
  • 日本版用のコンテンツを作成していこうと思います
  • チュートリアルの和訳完了
その後はクラスリファレンスの和訳を予定しています。クラスリファレンスそのものが全てそろっていないのでどうしたものか・・・とは思いますが。

なお、公式ドキュメントにてToDoアプリケーションの記事が開始されたようです。追って和訳します。

Scaffoldでシンプルなゲストブックを作る

プロジェクトを作成する

プロジェクトディレクトリをまだ作成していなければ、gaeo.py スクリプトで作成します。

# gaeo.py demo

コントローラ、モデル、テンプレートをscaffoldによって作成する

コントローラ、モデル、テンプレートをscaffoldによって作成します。
ゲストブックは通常、記入者内容のフィールドを持ちます。また、add(追加)、edit(編集)、delete(削除)、show(表示)、search(検索)などの機能が必要でしょう。
scaffold を用いることで、これらの必要なファイルを、コマンドひとつで作成することができます。
(注: いくつかのステートメントは括弧を使いますが、bash で特別な意味を持ちますのでダブルクォートなどで囲む必要があります)

# gaeogen.py scaffold guestbook new edit show search destroy "username:StringProperty(required=True)" content:TextProperty

上のコマンドは下記のコマンドと同じです

# gaeogen.py controller guestbook new edit show search destroy
# gaeogen.py model guestbook "username:StringProperty(required=True)" "content:TextProperty()"

scaffold はさらに関連するコードを作成してくれます。
たとえば:

class GuestbookController(BaseController):
    def create(self):
        r = Guestbook(
            username = self.params.get('username', None),
            content = self.params.get('content', None),
        )
        r.put()
        self.redirect('/guestbook')


from google.appengine.ext import db
from gaeo.model import BaseModel, SearchableBaseModel

class Guestbook(SearchableBaseModel):
    username = db.StringProperty(required=True)
    content = db.TextProperty()

これでシンプルな機能を持つゲストブックが  http://your-app/guestbook/ で表示されるようになりました。