Google App Engineの最大の特徴の一つといってもいいStoring Dataを使ってDataを登録する方法を書いてみたいと思います。
import cgi from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app from google.appengine.ext import db #データモデル class PaintingData(db.Model): personalid = db.StringProperty() class StoringData(webapp.RequestHandler): def post(self): # print self.request.get("hoge") #トランザクションの実行 paintingdata = PaintingData() paintingdata.personalid = self.request.get("personalid") #コミットをかける paintingdata.put() #データを表示する def get(self): paintingdata = db.GqlQuery("SELECT * FROM PaintingData") for each_paintingdata in paintingdata: self.response.out.write("<div>personalid:%s</div>" % each_paintingdata.personalid) application = webapp.WSGIApplication( [('/paint/storingdata', StoringData)] , debug=True ) def main(): run_wsgi_app(application) if __name__ == "__main__": main() |
実際に、実行してみるとデータが保存されました。
で、確認方法ですが、このアドレスを直接参照すると、getメソッドがコールされるので、そこでGQLをかまして結果の表示を行いました。
これ最初できたとき、超感動しました。
ですが、正直、このプログラムにはまだ問題点があって、
トランザクションが失敗した時の例外処理をどうするのか?
登録時にform変数のエスケープを行わなくていいのか?
などがあります。
これらの対処方法については今、調査中なのでおいおい書いていきたいと思います。
↓の本、まだ立ち読みしていないのでわからないのですが、関数がいっぱい書いてあるようなら買おうかなー。
0 コメント:
コメントを投稿