Django on Google app engine
もう眠いのでとりあえずログ
ダウンロード
- google_appengine_1.3.7.zip
- appengine_helper_for_django-r105.zip
EclipseでGAEプロジェクト作成したあと、そこにappengine_helper_for_django-r105.zipを解凍する。
最終的にこんなかんじになった。
- Project
-
- appengine_django
- mysite[開発Djangoアプリ名]
- src
- __init__.py
- main.py
- manage.py
- setting.py
- urls.py
- etc..
-
# その後のコマンド操作。パスが通ってなかったので、調べるのに時間を浪費した。 gaedir=/home/hirogl/google_appengine export PATH=${PATH}:$gaedir export PYTHONPATH=${PYTHONPATH}:${gaedir}:${gaedir}/lib/antlr3:${gaedir}/lib/cacerts:${gaedir}/lib/django:${gaedir}/lib/ipaddr:${gaedir}/lib/webob:${gaedir}/lib/yaml/lib:${gaedir}/lib:${gaedir}/lib/fancy_urllib/ # create app cd /home/hirogl/workspace/testDjp4GAE/ python manage.py startapp gaetest # Djangoプロジェクトの作成をした後、アップロード appcfg.py update .
とりあえずのテスト
http://hiro-gl.appspot.com/gaetest/
ポート番号を探す
/etc/serviceから探すっぽいけど、windowsの場合どうなるのかな?
s.getsockname()の所でポートが色々変わる。適当に空いてるポートを使ってクライアントは通信するかららしい。
import socket s = socket() port = socket.getservbyname('http','tcp') s.connect(('www.hogehoge.com',port)) # ついでに s.connect(('www.google.com', 80)) s.getsockname() # クライアントのIP、使用ポートのタプル #('192.168.0.xxx', 48108) s.getpeername() # 接続先のIP、使用ポートのタプル #('66.249.89.104', 80)
withステートメント
- ファイル閉じる
- ロック開放
- 補助処理の追加
- 特殊環境中実行の保守コード
などの時に使うといいらしい。結構べんりかも。
withステートメントを使ってtry...finallyと似たような動きできる。
# Expert Python Programming より引用 class Context(object): def __enter__(self): print 'Enter context' def __exit__(self, exception_type, exception_value, exception_traceback): print 'leaving the zone' if exception_type is None: print 'with no error' else: print 'with an error (%s)' % exception_value with Context(): print 'start1' #Enter context #start1 #leaving the zone #with no error with Context(): print 'start2' raise TypeError('i am the bug') #Enter context #start2 #leaving the zone #with an error (i am the bug)
gae 静的ファイルを使う
というか、静的なHP用途かな。
あまり関係ないけど、こういう風にも使えるんだって事で。
我楽多録 » Blog Archive » Google Apps と独自のホームページ
gae django1.0を使う
そういう事もできるらしいけど、ちょっと面倒みたい。
http://code.google.com/intl/ja/appengine/articles/django10_zipimport.html
google app engine
djangoでブログっぽいサンプルを作ったけどサーバとか用意しても微妙だったので放置状態だったけど、pythonが利用できて無料でつかえる独自ドメイン対応のサーバ探してたら出てきた。
※最近はjava版もあるらしい。
色々遊べそうなので早速登録した。
参考サイト
http://techblog.ecstudio.jp/tech-tips/freewebsite-with-google-app-engine.html
http://code.google.com/intl/ja/appengine/docs/python/gettingstarted/
とりあえず、スタート ガイド: Pythonに従ってhello worldだけやってみた。
google app engineでhelloworld
これから、ちょいちょい触ってみよう。