ここでは、Google App Engine SDK を使って、Pythonプログラミングをします。
プログラミングの課題は、Happyブログパーツです。
は、Pythonプログラミングの経験も知識もないので、かなり遠回りをしますので、あらかじめご了承ください。(^^;)

サンドボックスで慣れる

サンドボックスとしてHello Worldプロジェクトを新規作成

Google App Engine セットアップ方法で下準備が整えば、あとは、下記URLのスタートガイドのHello, World!で実践となります。

スタートガイド
http://code.google.com/intl/ja/appengine/docs/pyth...
スタートガイド(日本語訳)
http://www19.atwiki.jp/googleappengine/pages/15.ht...

このスタートガイドにあるHello Worldは、SDKのnew_project_templateに入っています。
こんな感じで、サンドボックスなプロジェクトを作ってみます。
 > cd "C:\Program Files\Google"
 > xcopy google_appengine\new_project_template helloworld\
のようにディレクトリごとコピーします。
動作を確認するには、
 > google_appengine\dev_appserver.py helloworld
でサーバを起動し、http://localhost:8080/ でアクセスすると、Hello World! と表示されるのが確認できます。

この後は、 helloworld/main.pyをノートパッドやPython.orgのテキストエディタIDLEで編集します。
IDLEは、.py拡張子の付いたファイルを右クリックしたときに表示されるメニュー(Edit with IDLE)で起動します。

データクラスの作成

いきなりオブジェクト指向なプログラミングではじめてみます。
helloworld/main.pyにクラスを一つ追加してみます。
スタートガイドの日本語訳が結構役にたちますが、ここでは、せっかくなので、Happyブログパーツの仕様を順々に実装していきましょう。

最初に作成するクラスは、ユーザの情報を格納するデータクラスにします。
クラス名はPersonとし、名前と残高と最終更新日時を保存できるようにします。
こんな感じになります。
 class Person(db.Model):
   name = db.StringProperty(multiline=True) #名前
   balance = db.IntegerProperty() #残高
   date = db.DateTimeProperty(auto_now_add=True) #最終更新日時
googleのライブラリであるdb.Modelクラスを継承して作成しているので、以下の1行を頭の方に追加しておきます。
 from google.appengine.ext import db
このdb.Modelクラスがくせ者で、googleのクラウド上に永続的にデータを保存できてしまうのです。今の段階では、その機能を使いませんが、後々のために、このdb.Modelクラスを使っておきます。
クラスからオブジェクトを生成して、次のように値を初期化してみます。
    person_a = Person(name='person_a') # person_a をDB
    person_a.balance = 200 # ポイントを200付与
    person_b = Person(name='person_b')
    person_b.balance = 200
2人のデータを生成したことになります。
これだけでは、動作するかわからないので、以下のように、HelloWorldの後ろに値を表示してみます。
class Person(db.Model):
  name = db.StringProperty(multiline=True) #名前
  balance = db.IntegerProperty() #残高
  date = db.DateTimeProperty(auto_now_add=True) #最終更新日時

class MainHandler(webapp.RequestHandler):

  def get(self):
    self.response.out.write('Hello world!<br>')

    person_a = Person(name='person_a') # person_a をDB
    person_a.balance = 200 # ポイントを200付与
    person_b = Person(name='person_b')
    person_b.balance = 200

    self.response.out.write(self.balanceHTML(person_a))
    self.response.out.write(self.balanceHTML(person_b))    
    
  def balanceHTML(self,person):
    html = 'name:' + person.name + "/"
    html += 'balance:' + str(person.balance)
    html += 'date:' + person.date.ctime()
    html += "<br>"
    return html

http://localhost:8080/でアクセスすると、二人分の初期値が表示されます。
これだけでは、なんのインタラクションもないので、
次は、「Google App Engineでデータベースを使ってみる」で新規アカウントの受付を作ってみます。

Wiki内検索

お知らせ

Happyブログパーツに、Googl App Engineのセットアップ方法を記述中です。
Hello worldの表示までできました。
Hello worldをサンドボックスとして、pythonプログラミングに慣れる方法を記述中です。

どなたでも編集できます