トップページphp
1001コメント298KB

Google AppEngine 3アプ目

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/02/25(木) 09:32:03ID:5mUqVSik
Google App Engine
http://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
0667nobodyさん2010/11/01(月) 06:38:30ID:eyzOe3gX
       ┌─┐
       │●│
       └─┤
       _   ∩
      ( ゚∀゚)彡
    ┌─┬⊂彡
    │●│ おっぱい!おっぱい!
    └─┘      おっぱい!おっぱい!

0668nobodyさん2010/11/18(木) 20:53:41ID:???
db.StringPropertyでユニーク指定はどうやるのでしょうか?
ユニークの項目で見て、違いがあれば更新し、なければ追加するという処理なのですが、毎回SELECTして判定しないといけませんか?
0669nobodyさん2010/11/19(金) 20:13:56ID:???
>>668
>毎回SELECTして判定しないといけませんか?

うん。

普通だったらそういうユニークなキーは
StringPropertyではなくkey_nameに指定すると思う。
それだったら、エンティティの存在チェックは、
get_by_key_nameするだけだから早いよ。
0670nobodyさん2010/11/19(金) 22:51:28ID:???
>>669
ありがとうございます。試してみます
0671nobodyさん2010/11/23(火) 11:05:09ID:???
pythonで開発をしていますが、あるホームページの要素を記録する必要があって調べたところ
1ページに200要素あってそれが8ページあり、それぞれ毎日更新されています。
ただし、8ページの要素名(フィールド)は互いにかなり重複しています。
このような場合は基底クラスを宣言してその派生クラスをdbクラスの多重継承とすべきでしょうか?
一気に全ページ対応の巨大なクラスを宣言すべきでしょうか?
検索クエリは全ページの横断クエリもありえるので細かく分ける必要はない気がします・・・・
開発経験が少ないので勘どころがわかりません
よろしかったらアドバイスお願いします
0672nobodyさん2010/11/23(火) 12:33:20ID:???
一気に全ページ対応の巨大なクラスを宣言すべき
0673nobodyさん2010/11/23(火) 12:57:30ID:???
ありがとう!
0674nobodyさん2010/11/24(水) 23:10:32ID:???
高卒でもグーグルに入れるんだね
0675nobodyさん2010/11/25(木) 22:22:29ID:???
>>666
本当だ。外部のサーバーに飛ばしてるんだな。
Janeで見たらリダイレクトされていてもそのまま見られるから全然気付かなかったわ。
0676nobodyさん2010/12/06(月) 00:19:46ID:???
urllib2でRSSを定期的に取得して記録しているのですが、
ブラウザでRSSを開くと前と更新されているのに
GAEのlogでは過去の内容のままで記録されています。
一応UserAgentやリファラーをつけて見ましたが変わりませんでした。
原因としてどの様なことが考えられますか?
0677nobodyさん2010/12/06(月) 00:36:49ID:???
>>676
とりあえずURLにダミーのランダムパラメータつけといて
原因は後で考える。
0678nobodyさん2010/12/06(月) 01:13:18ID:???
cookie
0679nobodyさん2010/12/06(月) 05:54:56ID:???
キャッシュ
0680質問2010/12/12(日) 17:47:20ID:89yAKgNb
GAEではURLのパスに日本語(utf-8)が入ったらダメなんですか?
もし可能なら日本語を入れるにはどうすればいいですか?

Google App Engine Lancherでgaewiki(http://code.google.com/p/gaewiki/)のサーバー起動して、
http://localhost:8088/日本語
としてFirefoxでアクセスすると↓のエラーメッセージが出ます
Traceback (most recent call last):
File "C:\Program Files (x86)\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 (x86)\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 3186, in _Dispatch
base_env_dict=env_dict)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 531, in Dispatch
base_env_dict=base_env_dict)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2410, in Dispatch
self._module_dict)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2299, in ExecuteCGI
os.environ.update(env)
File "D:\app\dev\Python25\lib\os.py", line 462, in update
self[k] = dict[k]
File "D:\app\dev\Python25\lib\os.py", line 430, in __setitem__
putenv(key, item)
OSError: [Errno 0] Error
0681nobodyさん2010/12/13(月) 00:20:46ID:???
>>680
gaewikiを動かして日本語utf8なパスを試したところ、linux+python2.5の環境では問題なかったです。
日本語URLはbase64でエンコードされているので特に問題ないとは思うけど、
Windows+python or GAEの問題なのかなぁ。。
06826802010/12/13(月) 00:31:25ID:2tCEPe3y
>>681
試していただいてありがとうございます。
質問した後に試してみたことがあります。

以下のようにアクセスするとログはこのように表示されます。
http://localhost:8088/日本語

ERROR 2010-12-12 15:25:01,736 dev_appserver.py:3285] Exception encountered handling request
Traceback (most recent call last):
File "C:\Program Files (x86)\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 (x86)\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 3186, in _Dispatch
base_env_dict=env_dict)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 531, in Dispatch
base_env_dict=base_env_dict)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2410, in Dispatch
self._module_dict)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\dev_appserver.py", line 2299, in ExecuteCGI
os.environ.update(env)
File "D:\app\dev\Python25\lib\os.py", line 462, in update
self[k] = dict[k]
File "D:\app\dev\Python25\lib\os.py", line 430, in __setitem__
putenv(key, item)
OSError: [Errno 0] Error
INFO 2010-12-12 15:25:01,762 dev_appserver.py:3317] "GET /%E6%97%A5%E6%9C%AC%E8%AA%9E HTTP/1.1" 500 -

一方で以下のようにアクセスすると200を返して正常に処理されます。
http://localhost:8088/日本

INFO 2010-12-12 15:25:08,234 dev_appserver.py:3317] "GET /%E6%97%A5%E6%9C%AC HTTP/1.1" 200 -

この違いは何なのでしょうか・・・
06836802010/12/13(月) 01:49:58ID:2tCEPe3y
>>681
とりあえずUbuntu Linuxをインストールして試してみたら上記の問題は発生しませんでした。
GAE上にアップロードして実行しても問題は発生しませんでした。
理由は分かりませんがWindows環境では問題が出るようですね・・・
0684nobodyさん2010/12/13(月) 15:48:30ID:???
静的ファイルは場所があるなら、全て外部に置いたほうがいいね
転送や保存に金がかかるという理由以外にも、アップロードとかのしやすさを考えるとね
0685nobodyさん2010/12/13(月) 16:06:39ID:???
>>680
WindowsだとPython2.5.5以外では問題が多発したような。
もし2.6や2.7を使ってたら、2.5をインストールしなおしたほうがいい。
ちがってたらごめんね。
0686nobodyさん2010/12/15(水) 16:21:04ID:???
純粋にウェブ鯖として遣うのは従来のレン鯖のほうが都合いいのか。
06876802010/12/15(水) 16:27:50ID:cZWB6GF9
>>685
公式サイトでは2.5.5のwindows用バイナリは配布していないのですね。
ActivePython-2.5.5.7-win32-x86.msiをインストールして使ってみましたが、
やはり日本語URLの問題は発生します。
0688nobodyさん2010/12/15(水) 16:55:54ID:???
GAE鯖だと問題なくてWindowsローカルで問題起こってるなら
Pythonの問題じゃなくてWindows(mbcsがSJIS)の問題だと思わない?
0689nobodyさん2010/12/16(木) 16:48:20ID:???
日本人辞めたくなってくる
0690nobodyさん2010/12/17(金) 01:44:05ID:???
WindowsのPythonの問題かもしれないしなぁ。。
0691nobodyさん2010/12/17(金) 02:27:20ID:???
>putenv(key, item)
GAE関係なしにPython2.5(Windows)の環境でutf-8で
dictのkeyに'日本語'と'日本'で問題ないか試してみた?
0692nobodyさん2010/12/17(金) 12:44:53ID:???
>>680
その問題、自分が開発してるときにもあったけど、
本サーバにデプロイしたら、問題なく動いたので
気にしないでやってた。

>>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:???
>>> import os
>>> 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:???
pyなんて国際化されてない言語遣うから(ry
0695nobodyさん2010/12/17(金) 21:40:26ID:???
煽りは要らんよ
悪いのはpyじゃなくてWinだし
0696nobodyさん2010/12/17(金) 23:08:16ID:???
The environment module is no longer supported; putenv() is now a function
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:???
すみません。GAE+pythonでアプリ作成することになったのですが、ググるためのロードマップ的なアドバイスをお願います。
やりたいことは、datastorのプロパティとDjangoを介したform要素を1対1で対応させて、挿入、編集処理を行いたいのです。
プロパティの数もかなり多いので、ループを多用した処理でコードを短くしたい。
<select>タグで選択させるエンティティもクラス定義の中にうまく取り込み定義したい。
いっそ、エンティティごとに表示させるformのタイプやバリデーションも定義したい。
こんなふうに考えてます。
なにか参考になるキーワードやサンプルページなどありましたら、教えてください。
具体的にコードを教えていただけるとさらにありがたいと思います。
GAEpythonアプリは簡単なものしか経験はありません。何卒よろしくお願いします。
0699nobodyさん2010/12/18(土) 00:33:28ID:???
http://hibari.2ch.net/test/read.cgi/tech/1288342460/
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:???
>>698
http://code.google.com/intl/ja/appengine/docs/python/gettingstarted/
0702nobodyさん2010/12/18(土) 03:53:31ID:???
>>698
djangoforms
0703nobodyさん2010/12/19(日) 09:20:10ID:???
>>702
ありがとうございます。
http://code.google.com/intl/ja/appengine/articles/djangoforms.html
このあたりから調べてみます。助かりました。
0704nobodyさん2010/12/23(木) 15:01:55ID:upuRkgtv
ただいまプロジェクトをセットアップ中でまだテストサーバーをいじるところまでは言ってないのですが
app.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:upuRkgtv
あざーーーす!!
0707nobodyさん2010/12/23(木) 21:50:37ID:???
00
07087042010/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:???
main.py のソース晒せ
07107042010/12/25(土) 01:39:24ID:cnkwEauI
from application.login import Login, Logout
from 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()

こんなかんじです
まだ読み込んだだけで使ってないクラスとかあります
07117042010/12/25(土) 15:26:44ID:4xZSyuIY
自己解決したので、報告しておきます。


- url: (.*)/
script: main.py


- url: /(.*)
static_files: static_dir/\1
upload: static_dir/(.*)

で解決しました。でもなんかちょっともっさりした動作です。
main.pyに含まれるiframeがmain.pyを呼んでないか心配です。
ほかに改善すべきところがありましたら、アドバイスいただけると幸いです。
07127042010/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:???
- url: /index.html
script: main.py

も追加したら良いじゃない
飛ばす先はstatic_dir/index.htmlなんだろ
07157042010/12/26(日) 10:50:31ID:Kj3wLXeW
>>713
申し訳ありませんでした。
半端な知識で理屈で考えるまえに組み合わせを総当りで試してしまいました。
>>714
ありがとうございました。
その一文を追加してあとルートディレクトリへのアクセスをmain.pyに向けたら一歩前進しました。

なんとかこの先もやっていけそうな感じになってきましたが、みなさんこんな場合はどうされてますか?
webプロダクションから完成済みページの一部だけを動的に変化するようにして欲しいと言われた。
webプロダクションの外注であるデザイン会社からhtmlで構成されたディレクトリがまるごと納品される。
ルートから各ページごとにディレクトリが切ってあり、それぞのディレクトリにindex.htmlがあり、内部相対リンクは
foo/index.htmlだったりfoo/だったり、昔のサーバーのクセに頼り切った構成。
GAEpythonの流儀に従い、動的ページとstaticページとtemplatesが分離していると、一見プログラマとデザイナは
仕事をわけて作業できそうですが、それは両方にSDKがインストールされていることが前提になります。
webプロダクションが勝手に使っているデザイン屋に同じ環境で作業することを強制することはなかなかできず。
そんな相手先に環境構築に行くのも物理的に無理。デザイン会社は変わるかも知れない。
結果、デザイン変更があった場合に備えて物理ディレクトリ上に相対アドレスでチェックして作業している環境を
まるごとコピーしてそれでも動くように細かく設定をして対処しようとしました。
その結果、完全ではないですが、なんとか体制はととのいましたが、一部htmlの相対アドレスを手直しせざるをえませんでした。
というわけで、環境を調整するだけで2日かかり、コードはまだ書けません。
みなさんのおかげで助かりました。ありがとうございました。
0716nobodyさん2010/12/27(月) 02:14:50ID:???
>>715
君はGAE云々以前の問題だと思う
ホームページのひとつでも自分で作って運営してスキルを積んだ方が良い
0717nobodyさん2010/12/27(月) 03:21:04ID:gZZU6IfS
情報を小出しにして人を振り回す事によりその人を不快にさせる方法を実践で教えてくれてありがとう。
07187042010/12/27(月) 18:04:56ID:mqmK5arb
http://www.google.com/support/a/bin/answer.py?hl=ja&answer=91080

アクセス URL が www のない http://mydomain.co.jp の形式の場合、登録事業者で追加の手順が必要な場合があります。

登録事業者のウェブサイトでアカウントにログインし、ドメインが次の IP アドレスを指すよう A レコードを設定します。

この設定したけど、google印のNOT FOUNDが出ただけだった。
google apps はwwwなしのドメインで登録しちゃってる。
07197042010/12/27(月) 18:10:00ID:mqmK5arb
あ、本文が抜けてた。
wwwなしの運用ってできましたっけ?

>>716
どもすみません。
サイトはいくつか運営してるんですが、正規表現とか苦手で

>>717
結果として迷惑かけただけでしたね。
最初にレスくれた方のおかげでだいたい解決してたんですが
チラ裏みたいなことになって申し訳ないです。
0720nobodyさん2010/12/27(月) 19:33:27ID:???
>>719
できますよ
07217042010/12/27(月) 20:21:21ID:GK7Rnap9
できますか!

できる場合もあるんですね
0722nobodyさん2010/12/27(月) 20:25:08ID:???
うそん?nakid domainてGAE businessで出来るって聞いてたんだけど。wwwつきのにリダイレクトされるとかでなくて?
07237042010/12/27(月) 20:33:11ID:GK7Rnap9
わたしはとりあえずリダイレクトさせてます
0724nobodyさん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:???
pythonSDKをアップグレードしたらモジュールがなんちゃらってエラーが出た
アンインストールして古い方入れたら治ったけど、びびった
0728nobodyさん2010/12/28(火) 23:35:36ID:???
foo=self.request.get('foo')
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 API面白そうだけど、海外ではCPU時間がかかりすぎることが問題になってるね
なんでも、Channelに接続するときにCPU時間が3秒ぐらい、多いときだと10秒ぐらいかかるらしい
マルチキャストもブロードキャストもできないし
0732nobodyさん2010/12/30(木) 13:13:44ID:???
同じIDから作ったトークン渡せばできるっぽいよ
0733nobodyさん2010/12/31(金) 21:22:10ID:???
file = open('example.json')
a = simplejson.load(file)

No JSON object could be decoded

0734nobodyさん2010/12/31(金) 23:31:43ID:???
どんなファイル食わしてもあかんねん
0735 【大吉】 2011/01/01(土) 00:11:58ID:???
JSONって結構縛りあるよ
ちょっとでも外れてるとあうと
0736nobodyさん2011/01/01(土) 01:08:47ID:???
サンプルコードの3行くらいのJSONもアウトでした
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"
}
]
}
0742 【だん吉】 株価【19】 【478円】 2011/01/01(土) 03:49:58ID:???
できました
あいがとう
0743nobodyさん2011/01/01(土) 05:08:38ID:???
できないよ。
外側の配列に名前つけて試して、さらに削ってためしたけどだめです。

たぶん、みなさんの環境ではできちゃってるのかな。
0744nobodyさん2011/01/01(土) 05:53:04ID:???
pythonのJSONモジュールって複数あるからなぁ
0745nobodyさん2011/01/03(月) 20:31:16ID:???
>>741ならうまくいくとおもうけど。
0746nobodyさん2011/01/05(水) 05:55:07ID:???
GAEのurlfetchでログインした外部のサービスから得た認証クッキーを
ユーザーに送ることでユーザー側のjavascriptから直接外部サービスに
アクセスすることってできますか?
0747nobodyさん2011/01/05(水) 06:03:33ID:???
あ、認証情報をセッションに頼らずにhiddenとかに入れて独自に認証すりゃできますよね
でもなんかセキュアじゃないような・・・

ご意見をお願いします。
0748nobodyさん2011/01/05(水) 06:20:32ID:???
>>746
そんなことできるはずねーだろ
0749nobodyさん2011/01/05(水) 13:43:59ID:???
oauthってのが理想に近いのでしょうか?
0750nobodyさん2011/01/05(水) 15:05:44ID:???
>>749
理想が何なのかわからん
0751nobodyさん2011/01/09(日) 11:08:43ID:???
Use the appcfg download_app command to download your application's code. If you do not want any admin to be able to download code, you can permanently prohibit code downloads. New!

ソースダウンロードできるの?
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:b7LWieM1
おまえ豪華な朝食だな
0756nobodyさん2011/01/09(日) 14:23:00ID:???
>>751
これできたっけ?
0757nobodyさん2011/01/09(日) 15:13:04ID:???
しかし、本の内容は糞っぽいよ
目次を見る限り
0758nobodyさん2011/01/09(日) 15:35:39ID:???
確かに…。基本的な部分だけか
まぁ買った人はレビューよろしこ
0759nobodyさん2011/01/10(月) 10:21:50ID:???
application = webapp.WSGIApplication([('/([a-zA-Z0-9]+)/(a-zA-Z0-9)', Main)], debug=True)
run_wsgi_app(application)
こんな感じにマッピングしたときに、Mainに正規表現で拾った値を渡すにはどうしたらいいでしょうか?
0760nobodyさん2011/01/10(月) 11:18:57ID:???
class Main(webapp.RequestHandler):
  def get(self, match1, match2):
0761nobodyさん2011/01/10(月) 11:31:41ID:???
>>760
ありがとうございます
0762nobodyさん2011/01/10(月) 15:41:16ID:???
application = webapp.WSGIApplication([('/(?P<hoge>[a-zA-Z0-9]+)/(?P<fuga>a-zA-Z0-9)', Main)], debug=True)
run_wsgi_app(application)

class Main(webapp.RequestHandler):
  def get(self, **kw):
    kw['hoge']
    kw['fuga']
0763nobodyさん2011/01/11(火) 21:18:58ID:???
ifの分岐でself.response.out.writeしたあと、それ以降の処理はやりたくないとき、
何を使えばいいのでしょうか?
exit()だと出力されずに終わってしまいます
0764nobodyさん2011/01/11(火) 21:31:38ID:???
763
自己解決しました。
0765nobodyさん2011/01/11(火) 21:47:05ID:???
>>764
2ちゃんでは、質問したことを自己解決した場合は
その方法を書くのが礼儀
0766nobodyさん2011/01/11(火) 22:20:18ID:???
>>765
return これでした。
基本ですが忘れてました
■ このスレッドは過去ログ倉庫に格納されています