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
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:???エンティティのロックってのがいまいち理解できない・・。
0786nobodyさん
2011/01/30(日) 17:10:24ID:???0788nobodyさん
2011/01/31(月) 12:55:21ID:???中にリストプロパティに入れたいデータがあるんです。
http://code.google.com/intl/ja/appengine/docs/python/tools/uploadingdata.html
どうやったらいいんでしょうか?
ヒントだけでもお願いします。
0789nobodyさん
2011/02/01(火) 13:23:47ID:???0791nobodyさん
2011/02/05(土) 17:27:35ID:???気付けば当たり前だけど嵌ったので書いとく
==*.py==
xs=(1,2,3,4,5)
template_values = {
'xs1': ( x*x for x in xs ),
'xs2': ( x*x for x in xs ),
}
==テンプレ1==
{% for x in xs1 %}
{{x}},
{% endfor %}
{% for x in xs1 %}
{{x}},
{% endfor %}
==テンプレ2==
{% for x in xs1 %}
{{x}},
{% endfor %}
{% for x in xs2 %}
{{x}},
{% endfor %}
テンプレ1 => 1,4,9,16,25,
テンプレ2 => 1,4,9,16,25,1,4,9,16,25
0792sage
2011/02/06(日) 09:32:44ID:CTIgjDfj同じ症状で色々と試したら、解決しました。
File "D:\app\dev\Python25\lib\os.py", line 430, in __setitem__
putenv(key, item)
このラインを
#putenv(key, item)
のようにコメントアウトしたらおkでした。
次のラインに
self.data[key.upper()] = item
がありますし、__getitem__は、
self.data[key.upper()]
を返しますので、問題ありません。
何処にあるかわかりませんが、putenvにバグがあると思います。というか、むしろ必要性を感じません。
他にPythonの開発してたら、その時は元に戻したほうがいいかもしれません。
ちなみに、os.py:410に、
# Fake unsetenv() for Windows
# not sure about os2 here but
# I'm guessing they are the same.
などというコメントがありますから、いい加減さが目だちます…orz
誰かの参考になれば幸いです。
0793nobodyさん
2011/02/06(日) 09:33:51ID:???スマソ…orz
0795nobodyさん
2011/02/06(日) 10:39:03ID:???>>680じゃないけど
http://localhost:8088/日本語
アウト
http://localhost:8088/日本語.html
OK
http://localhost:8088/日本語/temp.html
OK
コメントアウトしてもしなくても症状変わりません。
0796nobodyさん
2011/02/06(日) 11:33:35ID:???GAEサーバー再起動しました?
あと、コールスタックは>>680と同じですか?
コメントアウトしたなら、OSErrorのコールスタックも変わってくるはずです。
0797nobodyさん
2011/02/06(日) 13:15:58ID:???GAEサーバー再起動したら正常に動作いたしました。
知識不足のせいでお手数をおかけしました。
日本語URLを扱っていてたまたま最後は半角で終わるため
直接は問題は出ていませんでしたが、これですっきりしました。
ありがとうございました。
0798nobodyさん
2011/02/06(日) 17:37:55ID:???モジュールとしてスクリプトを書いていいんですか?
それともCGIのように1行目に実行ファイルへのパスを書くんですか?
0800nobodyさん
2011/02/06(日) 17:43:02ID:???0801nobodyさん
2011/02/06(日) 18:55:40ID:???0802nobodyさん
2011/02/06(日) 20:16:57ID:???0803nobodyさん
2011/02/06(日) 20:22:45ID:???http://codezine.jp/article/detail/3948
正直言って、無駄な労力だと思うので、他に行った方がいいと思う。
0804nobodyさん
2011/02/06(日) 20:45:26ID:???0805nobodyさん
2011/02/07(月) 00:02:52ID:???http://hp.com/
0806nobodyさん
2011/02/07(月) 02:43:34ID:???0807nobodyさん
2011/02/07(月) 03:02:24ID:???何度でも言うよ
GAEは糞
0808nobodyさん
2011/02/07(月) 03:25:00ID:???0809nobodyさん
2011/02/07(月) 17:39:36ID:qvm2E2Ff0810nobodyさん
2011/02/09(水) 18:15:53ID:???0811nobodyさん
2011/02/10(木) 04:11:24ID:J9bT3WK+0812nobodyさん
2011/02/10(木) 10:13:54ID:???特に書き込み。
0813nobodyさん
2011/02/10(木) 11:34:23ID:UzZbws4Ddatastoreにblobkeyだけ保存して、毎回取り出すために
blob_info = blobstore.BlobInfo.get(blob_key)
self.send_blob(blob_info)
しないといけないんですね?
そのリクエストを受け付けるURLにblob_keyを混ぜるとしたら、〜.jpgみたいなURL作るためには
/blob_key/temp.jpg
みたいなURL書き換えでキーを渡さないといけないんでしょうか?
例えば外部からbolbstore上の画像をダイレクトで参照できるURLってないのかな?
なんか勘違いしてるんですかね?
0815nobodyさん
2011/02/10(木) 14:39:53ID:???さっきみたら-(マイナス)が使われてたんだけど。
0816nobodyさん
2011/02/10(木) 23:39:29ID:???0817nobodyさん
2011/02/11(金) 14:36:01ID:???/main.jspへのアクセスを/に転送したいのですがどうしたらよいでしょうか?
AppRouterに設定(isStaticもちゃんとオーバーライド)しても、web.xmlに設定しても403になってしまいます。
0818nobodyさん
2011/02/12(土) 01:51:23ID:???javaの方のスレに誘導でいいのだろうか
Google App Engine 3アプ目
http://hibari.2ch.net/test/read.cgi/php/1267094290/
0819nobodyさん
2011/02/12(土) 12:18:28ID:???0820nobodyさん
2011/02/12(土) 12:31:53ID:???a=db.IntegerProperty()
b=db.IntegerProperty()
datas = db.GqlQuery (query_str)
for data in datas:
data["ab"]=data.a+data.b
'data' object does not support item assignment
db.modelオブジェクトに読み出しあとで列を追加すようとするとエラーが出ます。
Djangoに渡す前にどうしても列を加工したり追加したい場合、どうしたらいいでしょうか?
dictにコピー?
0821nobodyさん
2011/02/12(土) 12:53:08ID:???a=db.IntegerProperty()
b=db.IntegerProperty()
ab=db.IntegerProperty()
datas = db.GqlQuery (query_str)
for data in datas:
data.ab=data.a+data.b
0822nobodyさん
2011/02/12(土) 13:44:58ID:???0823nobodyさん
2011/02/12(土) 13:53:58ID:???とりあえずJinja2に移行中
0825nobodyさん
2011/02/12(土) 22:43:25ID:???http://code.google.com/appengine/docs/roadmap.html
0827nobodyさん
2011/02/13(日) 03:44:12ID:???こんなのあったんだ。さんくす。
そのいちばん上に、
* SSL access on non-appspot.com domains
とあるんだけど、これって可能なの?SSLってドメインごとにグローバルIPがひとつ必要なんじゃないっけ?
あと2番目が
* Full-text Search over Datastore
なんだけど、いつになったら実装してくれるのだろうか。
0828nobodyさん
2011/02/13(日) 04:14:25ID:???それは鯖がApacheの場合の話じゃなくて?
0829nobodyさん
2011/02/13(日) 05:01:21ID:???ブラウザも最近のはたいてい対応しているが、
win xpのIEは7でも駄目なので、そこがネック。
0830nobodyさん
2011/02/13(日) 12:24:24ID:???これってこれのことでしょうか。
ttp://builder.japan.zdnet.com/news/story/0,3800079086,20402262,00.htm
こんなのあったんだ。
0831nobodyさん
2011/02/13(日) 13:40:25ID:???0832nobodyさん
2011/02/13(日) 16:45:30ID:???他のDBでもこういう仕様だっけ?
後ろに来てもらうことってできまするか?
0833nobodyさん
2011/02/13(日) 18:40:02ID:???0834nobodyさん
2011/02/13(日) 18:49:14ID:mo0rSdkS「あっちでは出来たのに」ってのが多すぎるわ
0835nobodyさん
2011/02/13(日) 19:21:01ID:???Goくらい、何かを連想させない命名にしておけば
0837nobodyさん
2011/02/13(日) 21:12:14ID:???0839nobodyさん
2011/02/14(月) 18:51:26ID:???開発用と本番用で挙動が変わったり
インデックスが壊れたり色々困るだろうに
0841nobodyさん
2011/02/15(火) 19:26:29ID:???0842nobodyさん
2011/02/19(土) 22:13:51.81ID:???gqlのほうがデータベースと逝ってるわりにデータベースっぽい扱いさせてくれないほうが不親切。
0843nobodyさん
2011/02/20(日) 09:11:47.23ID:mUqklcdg0844nobodyさん
2011/02/24(木) 14:56:50.70ID:???{% for e in list %}
<option value={{ e }}>{{ e }}</option>
{% endfor %}
</select>
こんなことやりたいのですが、db.StringPropertyのchoices=set()で設定されている
規定値のリストを取得する方法を教えてください。
0845nobodyさん
2011/02/24(木) 15:32:58.04ID:???0847nobodyさん
2011/02/24(木) 16:28:32.97ID:???>>> a = set([1, 2, 3])
>>> for i in a:
print i
1
2
3
>>>
ソートしたいならsortedで
0848nobodyさん
2011/02/24(木) 16:37:38.93ID:???ありがとうございました。
0849nobodyさん
2011/02/26(土) 16:56:50.23ID:???Djangoを使ってフォームをつくろうとしているのですが、
Traceback (most recent call last):
File "C:\Program Files\Google\google_appengine\google\appengine\ext\webapp\__init__.py", line 515, in __call__
handler.get(*groups)
File "C:\Users\wish\project\room\main.py", line 44, in get
html = template.render(fpath,params)
(中略)
File "C:\Program Files\Google\google_appengine\lib\django_0_96\django\template\loader.py", line 72, in find_template_source
raise TemplateDoesNotExist, name
TemplateDoesNotExist: layout.html
このようなエラーになってしまい、動きません。
app.yamlは
handlers:
- url: /css
static_dir: css
- url: .*
script: main.py
と設定してあります。
また、app.yamlとmain.pyのディレクトリの下にそれぞれ
viwesとcssというフォルダを置き、cssにcssファイルを、
viewsにhtmlをおいています。
0851nobodyさん
2011/02/26(土) 17:29:20.46ID:???layout.htmlはviwesフォルダに入っています。
試しにcssフォルダや、app.yamlと同じディレクトリに置いてみても変わりませんでした。
0852nobodyさん
2011/02/26(土) 17:45:35.61ID:???0853nobodyさん
2011/02/26(土) 17:45:57.73ID:???0854nobodyさん
2011/02/26(土) 17:47:02.95ID:???File "C:\Program Files\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 3245, in _HandleRequest
self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
中略
File "C:\Program Files\Google\google_appengine\lib\django_0_96\django\newforms\util.py", line 15, in smart_unicode
s = unicode(s, settings.DEFAULT_CHARSET)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x89 in position 0: invalid start byte
Python2.5です。windows7
GAEを使ってローカルサーバでテストしているのですが、このエラーでつまづいてしまいました。
Djangoを使って入力フォームの作成をしています。
0856nobodyさん
2011/02/28(月) 01:11:08.16ID:VazHfe0jdef get(self):
if ua == keitai:
~ケータイ用のページへジャンプ~
という処理をすべてのクラスに記述するしかないのでしょうか?
0857nobodyさん
2011/02/28(月) 01:13:57.28ID:???まあPythonのデコレータ使えば綺麗に書けるはず
0858nobodyさん
2011/02/28(月) 05:02:15.92ID:???0859nobodyさん
2011/02/28(月) 14:24:19.45ID:???複数のフォームに入力されたデータをある一定のアルゴリズムで変換し
(たとえば、1と入力したら50,4と入力したら200など)
それを表示したいのですが、この場合どうすればいいんでしょうか?
現在は、AddHandlerで
def post(self):
form = AddForm(data=self.request.POST)
if form.is_valid():
data = form.save()
data.put()
self.redirect("/")
else:
self.layout["content"] = self.view_dir + "add.html"
params = {"layout":self.layout,"form":form}
fpath = os.path.join(os.path.dirname(__file__),"layouts",self.layout_file)
html = template.render(fpath,paramas)
self.response.out.write(html)
このように、入力された値は保存してそのままindexで表示されるようになっています。
0860nobodyさん
2011/03/01(火) 22:30:04.73ID:???http://d.hatena.ne.jp/sugyan/20090705/1246803690
ではgenerate_keyを設定してますが bulkloader.yaml
で設定する方法がわかりません。
localで実行のみ。
Modelクラスだけで定義はしているけど、まだdatastore上に実体のデータがない。
とりあえずbulkloaderを走らせてみましたが、データは記録できるものの不定期にスレッドエラーがでて全行送れない。→インデックス設定が必要?
この問題はさておき、何度もテストしていると重複したデータが増える。
key_nameをフィールドを連結した文字列で設定してアップロードしたい。
テストはこのサイトを忠実に再現している・・・つもり。
http://endoyuta.blogspot.com/2011/02/gaebulk-loadercsv.html
というわけです。よろしくお願いします。
0861nobodyさん
2011/03/02(水) 01:01:09.41ID:???--num_threads=
でスレッド数を制限したらいけました。
あとはkey nameで保存させることです。よろしくお願いします。
0862nobodyさん
2011/03/02(水) 04:09:43.92ID:???---------------
property_map:
- property: __key__
external_name: key
export_transform: transform.key_id_or_name_as_string
ならcsvのcolumn_name=keyのフィールドがkey_nameになる
0864nobodyさん
2011/03/04(金) 12:03:30.61ID:???ありがとうございました。
調べた結果キーを複数の要素から生成するにはこうすればできるようです。
- property: __key__
import_template: "%(first_name)s %(last_name)s"
http://efreedom.com/Question/1-3920171/Set-Key-New-Bulkloader
first_nameとlast_nameの定義の前でも使えるのか疑問ですがちょっとやってみます。
0866nobodyさん
2011/03/05(土) 17:06:25.19ID:???やっぱりエラーが出ます。
Error parsing yaml file:
Invalid object:
Neither external_name nor import_template nor export specifiled for propaty __key__
こんな風に名前の定義も入れてみたんですが、ダメです。
- kind: Station
connector: csv
connector_options:
encoding: euc-jp
skip_import_header_row : True
column_list: [rr_cd, line_cd, station_cd,
line_sort, station_sort, station_g_cd, r_type,
rr_name, line_name, station_name,pref_cd,
lon, lat,f_flag]
property_map:
- property: __key__
- import_template: "%(line_name)s%(station_name)s"
ここを参考にしてます。
http://endoyuta.blogspot.com/2011/02/gaebulk-loadercsv.html
csvを改造してKEYを先に作ったほうがラクかなあ。
お知恵をおかし下さい。
0867nobodyさん
2011/03/05(土) 18:39:45.84ID:???こんどは郵便番号データを郵便番号をキーに登録しようとしてやはり同じエラーが出ました。
- kind: ziplist
connector: csv
connector_options:
encoding: utf-8
column_list: [cityno, oldzip, zipcode, pref, citykana, city, townkana,
town, two_code, banchi, chome, two_town]
property_map:
- property: __key__
external_name: zipcode
export_transform: transform.key_id_or_name_as_string
http://www.post.japanpost.jp/zipcode/download.html
0868nobodyさん
2011/03/06(日) 10:33:02.95ID:???columns: from_headerを明記する
- import_template: "%(line_name)s%(station_name)s"
マイナス記号がいつの間にかくっついてた
コピペでいろいろ試しているうちに余計に現象が複雑化してました。
無事、二つのカラムからKeyを生成できました。
>>867
これからやってみます。
まずはご報告まで。
0869nobodyさん
2011/03/06(日) 14:56:49.77ID:???export_transform: transform.key_id_or_name_as_string
これ削除したらkey_nameでのインポートはできるようになりました。
エクスポートの時に困りますね。
0870nobodyさん
2011/03/07(月) 08:14:19.48ID:???それについてどこかに詳しく説明してるページないでしょうか?
0871nobodyさん
2011/03/07(月) 08:38:48.62ID:???App Engine 1.4.1 をリリースしました - High Replication Datastore の紹介 - Google Japan Developer Relations Blog
http://googledevjp.blogspot.com/2011/01/app-engine-141-high-replication.html
0872nobodyさん
2011/03/07(月) 12:12:07.14ID:???■ このスレッドは過去ログ倉庫に格納されています