Google AppEngine 3アプ目
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2010/02/25(木) 09:32:03ID:5mUqVSikhttp://code.google.com/appengine/
■過去スレ
Google App Engine
http://pc11.2ch.net/test/read.cgi/php/1207754942/
Google App Engine 2アプ目
http://pc11.2ch.net/test/read.cgi/php/1243654802/
■リンク集
はてなブックマーク
http://b.hatena.ne.jp/t/gae
http://b.hatena.ne.jp/t/Google%20App%20Engine
Delicious
http://delicious.com/popular/gae
http://delicious.com/popular/googleappengine
■参考サイト
App Engine ギャラリー
http://appgallery.appspot.com/
ドキュメント
http://code.google.com/appengine/docs/python/overview.html
0686nobodyさん
2010/12/15(水) 16:21:04ID:???0687680
2010/12/15(水) 16:27:50ID:cZWB6GF9公式サイトでは2.5.5のwindows用バイナリは配布していないのですね。
ActivePython-2.5.5.7-win32-x86.msiをインストールして使ってみましたが、
やはり日本語URLの問題は発生します。
0688nobodyさん
2010/12/15(水) 16:55:54ID:???Pythonの問題じゃなくてWindows(mbcsがSJIS)の問題だと思わない?
0689nobodyさん
2010/12/16(木) 16:48:20ID:???0690nobodyさん
2010/12/17(金) 01:44:05ID:???0691nobodyさん
2010/12/17(金) 02:27:20ID:???GAE関係なしにPython2.5(Windows)の環境でutf-8で
dictのkeyに'日本語'と'日本'で問題ないか試してみた?
0692nobodyさん
2010/12/17(金) 12:44:53ID:???その問題、自分が開発してるときにもあったけど、
本サーバにデプロイしたら、問題なく動いたので
気にしないでやってた。
>>691のやつ試したら、
>>> os.putenv("hoge", u"日本".encode("utf-8"))
>>> os.putenv("hoge", u"日本語".encode("utf-8"))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 42] Illegal byte sequence
となるので、utf-8でエンコードしたときの末尾がよろしくない文字列を
putenvしようとするとエラーが出るのかな。
0693nobodyさん
2010/12/17(金) 13:04:44ID:???>>> os.putenv('hoge', u'日本語'.encode('utf-8'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 2] No such file or directory
>>> os.putenv('hoge', u'日本'.encode('utf-8'))
>>> os.putenv('hoge', u'日本語'.encode('utf-8'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 0] Error
>>> os.putenv('hoge', u'日本'.encode('utf-8'))
>>> os.putenv('hoge', u'日本語'.encode('utf-8'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: [Errno 0] Error
なんだこりゃ
0694nobodyさん
2010/12/17(金) 18:48:28ID:???0695nobodyさん
2010/12/17(金) 21:40:26ID:???悪いのはpyじゃなくてWinだし
0696nobodyさん
2010/12/17(金) 23:08:16ID:???in posixmodule (also under NT).
0697nobodyさん
2010/12/17(金) 23:08:51ID:???WとAの2つのAPIがあって、Aでは未だにCP932が現役でCP65001が使えないんだから
0698nobodyさん
2010/12/17(金) 23:44:59ID:???やりたいことは、datastorのプロパティとDjangoを介したform要素を1対1で対応させて、挿入、編集処理を行いたいのです。
プロパティの数もかなり多いので、ループを多用した処理でコードを短くしたい。
<select>タグで選択させるエンティティもクラス定義の中にうまく取り込み定義したい。
いっそ、エンティティごとに表示させるformのタイプやバリデーションも定義したい。
こんなふうに考えてます。
なにか参考になるキーワードやサンプルページなどありましたら、教えてください。
具体的にコードを教えていただけるとさらにありがたいと思います。
GAEpythonアプリは簡単なものしか経験はありません。何卒よろしくお願いします。
0699nobodyさん
2010/12/18(土) 00:33:28ID:???Pythonのお勉強 Part40
http://hibari.2ch.net/test/read.cgi/tech/1289105386/
くだすれPython(超初心者用) その9
http://hibari.2ch.net/test/read.cgi/tech/1258320456/
Python の宿題ここで答えます Part 2
http://hibari.2ch.net/test/read.cgi/tech/1235050215/
【実験台】 Python 3.0 のお勉強 Part 1 【非互換】
http://hibari.2ch.net/test/read.cgi/tech/1157686822/
Microsoft IronPython 1.0
http://hibari.2ch.net/test/read.cgi/tech/1220604777/
俺のPython勉強日記
http://hibari.2ch.net/test/read.cgi/tech/1219618707/
【シンプル】Pythonっておもしろい【パワフル】
http://hibari.2ch.net/test/read.cgi/tech/1169473442/
Pythonに見られるインデントによる制御構造の是非
http://hibari.2ch.net/test/read.cgi/tech/1175919288/
Python Challengeをやろう!
0700nobodyさん
2010/12/18(土) 01:14:36ID:???0701nobodyさん
2010/12/18(土) 01:38:15ID:???http://code.google.com/intl/ja/appengine/docs/python/gettingstarted/
0703nobodyさん
2010/12/19(日) 09:20:10ID:???ありがとうございます。
http://code.google.com/intl/ja/appengine/articles/djangoforms.html
このあたりから調べてみます。助かりました。
0704nobodyさん
2010/12/23(木) 15:01:55ID:upuRkgtvapp.yaml
の書き方についてご教示ください。
- url: /
static_dir: static_dir/
- url: /article
script: article.py
このような設定をした場合で物理アドレスがstatic_dir/artcle/imgの中にあるイメージファイルは
article.html(article.pyが生成)の中でimg/と記述されているイメージタグからアクセスできるでしょうか?
テンプレートの中にあるarticle.htmlのイメージタグのsrcアドレスを単純な相対パスにしておきたいのですが。
この方法がダメなら書き直すしかないですね。
大量のhtmlを受け取って、そのうちの一部だけを動的に書き換えて欲しいという要求なので、なるべく元の
html内のimgタグなどはそのままにしておきたいのです。
よろしくお願いします。
0705nobodyさん
2010/12/23(木) 16:01:08ID:???- url: /img
static_dir: static_dir/article/img
- url: /article
script: article.py
- url: /
static_dir: static_dir/
0706nobodyさん
2010/12/23(木) 18:38:00ID:upuRkgtv0707nobodyさん
2010/12/23(木) 21:50:37ID:???0708704
2010/12/24(金) 21:25:00ID:N5vcjC0l>>705で教えて頂いた設定でおおかたうまくいきましたが
static_dir直下のファイルへのアクセスだけ404です。
- url: /
static_dir: static_dir/
- url: /.*
script: main.py
このように追加しましたが、うまくいきません。「.」や「*」などいろいろ追加してみましたがうまくいきません。
ディレクトリにファイルがない場合はmain.pyに拾わせてindex.htmlに行かせたいのですが、それは成功しています。
ただし、すごく遅いのでなにか循環しているかも知れません。
index.html内部にstatic_dir/直下のファイルへのiframe参照があるので、それがindex.htmlに呼ばれているような・・・
お手数をおかけしますが、お知恵をおかし下さい。
0709nobodyさん
2010/12/25(土) 01:02:52ID:???0710704
2010/12/25(土) 01:39:24ID:cnkwEauIfrom application.index import Index
from application.registform import RegistForm
from application.article import Article
from application.regist import Regist, Confirm, Resign
from application.proc import Proc
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
def main():
application = webapp.WSGIApplication([('/', Index),
('/logout', Logout),
('/registform', RegistForm),
('/confirm', Confirm),
('/resign', Resign),
('/proc', Proc),
('/article', Article)],
debug=True)
run_wsgi_app(application)
if __name__ == '__main__':
main()
こんなかんじです
まだ読み込んだだけで使ってないクラスとかあります
0711704
2010/12/25(土) 15:26:44ID:4xZSyuIY- url: (.*)/
script: main.py
- url: /(.*)
static_files: static_dir/\1
upload: static_dir/(.*)
で解決しました。でもなんかちょっともっさりした動作です。
main.pyに含まれるiframeがmain.pyを呼んでないか心配です。
ほかに改善すべきところがありましたら、アドバイスいただけると幸いです。
0712704
2010/12/25(土) 16:47:50ID:4xZSyuIY上記でだいたいいいのですが、ルートにアクセスしたとき、ルートのindex.htmlにアクセスしたとき
main.pyではなくstatic_dir/index.htmlを表示してしまいました。
http://foo.com/
http://foo.com/index.html
上記の場合のみmain.pyに処理させたい場合はどうしたらいいでしょうか?
頭が混乱してしまいました。
0713nobodyさん
2010/12/25(土) 19:43:49ID:???まともな回答が返って来ると考えてるとは御目出度い
0714nobodyさん
2010/12/25(土) 22:06:23ID:???script: main.py
も追加したら良いじゃない
飛ばす先はstatic_dir/index.htmlなんだろ
0715704
2010/12/26(日) 10:50:31ID:Kj3wLXeW申し訳ありませんでした。
半端な知識で理屈で考えるまえに組み合わせを総当りで試してしまいました。
>>714
ありがとうございました。
その一文を追加してあとルートディレクトリへのアクセスをmain.pyに向けたら一歩前進しました。
なんとかこの先もやっていけそうな感じになってきましたが、みなさんこんな場合はどうされてますか?
webプロダクションから完成済みページの一部だけを動的に変化するようにして欲しいと言われた。
webプロダクションの外注であるデザイン会社からhtmlで構成されたディレクトリがまるごと納品される。
ルートから各ページごとにディレクトリが切ってあり、それぞのディレクトリにindex.htmlがあり、内部相対リンクは
foo/index.htmlだったりfoo/だったり、昔のサーバーのクセに頼り切った構成。
GAEpythonの流儀に従い、動的ページとstaticページとtemplatesが分離していると、一見プログラマとデザイナは
仕事をわけて作業できそうですが、それは両方にSDKがインストールされていることが前提になります。
webプロダクションが勝手に使っているデザイン屋に同じ環境で作業することを強制することはなかなかできず。
そんな相手先に環境構築に行くのも物理的に無理。デザイン会社は変わるかも知れない。
結果、デザイン変更があった場合に備えて物理ディレクトリ上に相対アドレスでチェックして作業している環境を
まるごとコピーしてそれでも動くように細かく設定をして対処しようとしました。
その結果、完全ではないですが、なんとか体制はととのいましたが、一部htmlの相対アドレスを手直しせざるをえませんでした。
というわけで、環境を調整するだけで2日かかり、コードはまだ書けません。
みなさんのおかげで助かりました。ありがとうございました。
0717nobodyさん
2010/12/27(月) 03:21:04ID:gZZU6IfS0718704
2010/12/27(月) 18:04:56ID:mqmK5arbアクセス URL が www のない http://mydomain.co.jp の形式の場合、登録事業者で追加の手順が必要な場合があります。
登録事業者のウェブサイトでアカウントにログインし、ドメインが次の IP アドレスを指すよう A レコードを設定します。
この設定したけど、google印のNOT FOUNDが出ただけだった。
google apps はwwwなしのドメインで登録しちゃってる。
0719704
2010/12/27(月) 18:10:00ID:mqmK5arbwwwなしの運用ってできましたっけ?
>>716
どもすみません。
サイトはいくつか運営してるんですが、正規表現とか苦手で
>>717
結果として迷惑かけただけでしたね。
最初にレスくれた方のおかげでだいたい解決してたんですが
チラ裏みたいなことになって申し訳ないです。
0721704
2010/12/27(月) 20:21:21ID:GK7Rnap9できる場合もあるんですね
0722nobodyさん
2010/12/27(月) 20:25:08ID:???0723704
2010/12/27(月) 20:33:11ID:GK7Rnap90724nobodyさん
2010/12/27(月) 20:51:29ID:???0725nobodyさん
2010/12/27(月) 22:16:59ID:???今は無理
0726nobodyさん
2010/12/27(月) 23:21:36ID:GK7Rnap9ところでbulkloader.yamlってとんでもないところにできるんですね
0727nobodyさん
2010/12/28(火) 19:54:54ID:???アンインストールして古い方入れたら治ったけど、びびった
0728nobodyさん
2010/12/28(火) 23:35:36ID:???POSTデータをループで取り出す方法ある?
0729nobodyさん
2010/12/28(火) 23:36:55ID:???for key in self.request.arguments():
self.response.out.write(key + "=" + self.request.get(key) + "
")
0730nobodyさん
2010/12/29(水) 00:38:57ID:???0731nobodyさん
2010/12/30(木) 08:49:49ID:???なんでも、Channelに接続するときにCPU時間が3秒ぐらい、多いときだと10秒ぐらいかかるらしい
マルチキャストもブロードキャストもできないし
0732nobodyさん
2010/12/30(木) 13:13:44ID:???0733nobodyさん
2010/12/31(金) 21:22:10ID:???a = simplejson.load(file)
No JSON object could be decoded
0734nobodyさん
2010/12/31(金) 23:31:43ID:???0736nobodyさん
2011/01/01(土) 01:08:47ID:???static_dirにファイル置いてエラーってのは結構見つかったし
エンコードもcodecs.openしても関係ないascii文字だけでもダメ
0737nobodyさん
2011/01/01(土) 01:29:47ID:???jqueryにやらせようかな
0738nobodyさん
2011/01/01(土) 02:38:30ID:???そもそもpythonのdictと違って
""で囲ってないと死ぬ
0739nobodyさん
2011/01/01(土) 03:11:41ID:???{
[
{
"title": "New",
"action":"CreateDoc"
},
{
"title": "Open",
"action": "OpenDoc"
},
{
"title": "Close",
"action": "CloseDoc"
}
]
}
0740nobodyさん
2011/01/01(土) 03:33:32ID:???0741nobodyさん
2011/01/01(土) 03:35:43ID:???"hoge_array": [
{
"title": "New",
"action":"CreateDoc"
},
{
"title": "Open",
"action": "OpenDoc"
},
{
"title": "Close",
"action": "CloseDoc"
}
]
}
0743nobodyさん
2011/01/01(土) 05:08:38ID:???外側の配列に名前つけて試して、さらに削ってためしたけどだめです。
たぶん、みなさんの環境ではできちゃってるのかな。
0744nobodyさん
2011/01/01(土) 05:53:04ID:???0746nobodyさん
2011/01/05(水) 05:55:07ID:???ユーザーに送ることでユーザー側のjavascriptから直接外部サービスに
アクセスすることってできますか?
0747nobodyさん
2011/01/05(水) 06:03:33ID:???でもなんかセキュアじゃないような・・・
ご意見をお願いします。
0749nobodyさん
2011/01/05(水) 13:43:59ID:???0751nobodyさん
2011/01/09(日) 11:08:43ID:???ソースダウンロードできるの?
0752nobodyさん
2011/01/09(日) 12:32:21ID:???http://www.oreilly.co.jp/books/9784873114750/
0753nobodyさん
2011/01/09(日) 13:13:07ID:???そもそもオンライン情報だけで充分だし
バージョン上がったら使えなくなる本なんて金がもったいなくて買えんわ
0754nobodyさん
2011/01/09(日) 13:18:08ID:???社会人の朝食代レベルの金額なんだから別にそこまでないだろ…
俺はささっと買うわ
0755nobodyさん
2011/01/09(日) 13:28:08ID:b7LWieM10757nobodyさん
2011/01/09(日) 15:13:04ID:???目次を見る限り
0758nobodyさん
2011/01/09(日) 15:35:39ID:???まぁ買った人はレビューよろしこ
0759nobodyさん
2011/01/10(月) 10:21:50ID:???run_wsgi_app(application)
こんな感じにマッピングしたときに、Mainに正規表現で拾った値を渡すにはどうしたらいいでしょうか?
0760nobodyさん
2011/01/10(月) 11:18:57ID:???def get(self, match1, match2):
0762nobodyさん
2011/01/10(月) 15:41:16ID:???run_wsgi_app(application)
class Main(webapp.RequestHandler):
def get(self, **kw):
kw['hoge']
kw['fuga']
0763nobodyさん
2011/01/11(火) 21:18:58ID:???何を使えばいいのでしょうか?
exit()だと出力されずに終わってしまいます
0764nobodyさん
2011/01/11(火) 21:31:38ID:???自己解決しました。
0767nobodyさん
2011/01/14(金) 23:55:42ID:???3つ目がfailedになってて、logにもエラーが記録されてないので原因が特定できず困ってます。
0768nobodyさん
2011/01/15(土) 02:20:08ID:???0769nobodyさん
2011/01/15(土) 04:47:47ID:???2011-01-15 04:43:54 Running command: "[u'D:\\Python\\pythonw.exe', '-u', 'D:\\Program Files\\Google\\
google_appengine\\appcfg.py', '--no_cookies', u'--email=email@my.com', '--passin', 'update', 'G:\\app']"
2011-01-15 04:43:54 (Process exited with code -1073741515)
You can close this window now.
このようなエラーがでてアップロードできないのですが
どういったことが考えられますか?
0770nobodyさん
2011/01/15(土) 05:08:46ID:???0772nobodyさん
2011/01/17(月) 01:40:56ID:???メールにかかれたURLのページをfetchして返信するappを作りましたが
http://ja.wikipedia.org/wiki/%E7%89%B9%E5%88%A5:%E9%95%B7%E3%81%84%E3%83%9A%E3%83%BC%E3%82%B8
などのサイズの大きいページを指定するとエラー↓になります。
The API call mail.Send() required more quota than is available.
一体何のquotaが超えているのでしょうか?
ttp://code.google.com/intl/en/appengine/docs/python/mail/overview.html
を見ると、メールサイズの制限は10MBなので、大丈夫なはずです。
また、このエラーの後でも普通サイズのページを指定すると正常に動作します。
0773nobodyさん
2011/01/17(月) 04:00:43ID:???0774nobodyさん
2011/01/17(月) 23:22:32ID:???0775nobodyさん
2011/01/18(火) 12:56:40ID:???0776nobodyさん
2011/01/18(火) 13:46:53ID:???だけど dashboard から更新したらやっぱり記録されない
0777nobodyさん
2011/01/18(火) 17:36:02ID:???datastoreではできないんですね
ありがとうございました
0778nobodyさん
2011/01/23(日) 12:57:55ID:???0779nobodyさん
2011/01/23(日) 19:01:22ID:???http://code.google.com/intl/ja/appengine/docs/quotas.html
送信されたメッセージ本文のデータ 340 KB/分
0780nobodyさん
2011/01/23(日) 21:22:35ID:/P06sEKg本にはここを見ろと書いてあるんだが見つからない
http://www.oreilly.co.jp/books/9784873114750/
0782nobodyさん
2011/01/24(月) 12:56:51ID:???GAE用に最適化されてるgae-pytzを使おうと思ったんですが
pytz本体のバージョンがpytz 2010oなのにgae-pytzが2010hで更新止まってるんですが
何か問題あったんでしょうか?
0785nobodyさん
2011/01/30(日) 13:22:29ID:???エンティティのロックってのがいまいち理解できない・・。
■ このスレッドは過去ログ倉庫に格納されています