1 名前:nobodyさん [2006/11/14(火) 23:09:04 ID:KpRkBouP.net] PythonでCGI PyJUG:ドキュメントはここ www.python.jp/Zope/ Python CGI入門みたいの www.gesource.jp/programming/python/cgi/index.html cgiモジュール説明書 www.python.jp/doc/2.4/lib/module-cgi.html
152 名前:nobodyさん mailto:sage [2009/02/13(金) 19:57:40 ID:???.net] >>150 submit…一緒に出力されているhtmlでsubmitの親ノードになってるformのactionに対して送信する reset…一緒に出力されているhtmlでresetの親ノードになっているform内のinput/select/textarea等がクリアされる PythonのCGIって言っても単にブラウザに向かってHTML(たまにCSVとかXMLとかバイナリとか違うものも吐くけど) を吐き出してるだけなんで、普通のHTMLと同じ挙動をするだけだよ。
153 名前:150 mailto:sage [2009/02/13(金) 20:37:43 ID:???.net] あーごめんなさい、書き方が悪かったみたいですね その「送信された側」などの関係がわからないのです。
154 名前:nobodyさん mailto:sage [2009/02/13(金) 20:43:19 ID:???.net] >>152 ブラウザの実相にもよるけど、大抵のメジャーブラウザはresetはサーバーとの通信を 行わずローカルだけでやるはずなので、送信元になるのが何であっても(静的HTMLでも、 PythonのCGIが吐き出したHTMLでも、PHPやPerlCGIが吐き出したのでも)同じ動きです。 formからの送信を受け取る側がPythonのCGIなら、↓参照 www.python.jp/doc/release/lib/module-cgi.html
155 名前:150 mailto:sage [2009/02/13(金) 22:21:19 ID:???.net] >>153 そうです、そこ見てたんですよ。 Python 勉強しはじめて、ローカルで動くプログラムはいろいろ書いてはいるんですが 送信側と受信側との関係? というか… FieldStorage() して getlist(name) というのはわかったのですが どうやってデータをここに入れてあげればいいのかが…
156 名前:nobodyさん mailto:sage [2009/02/13(金) 23:19:15 ID:???.net] >>154 他の言語(Perl,PHP.Rubyなど)でHTTPサーバー⇔ローカルの通信やったことありますか? <form action="python.cgi" method="post"> <input type="text" name="hoge" value="mage" /> <input type="submit" value="送信" /> <input type="reset" value="リセット" /> </form> というHTMLがあったとして、 submitする…cgi.FieldStorage()するとform["hoge"].valueにmageが入る resetする…サーバーと通信は行わずローカルのブラウザ側でinput type="text"のvalueをクリア
157 名前:150 mailto:sage [2009/02/13(金) 23:39:29 ID:???.net] まったくないですね… なるほど Python に限った話じゃないからリファレンス見てもほとんど書いてなかったのか 上のコードの場合、FieldStorage() は python.cgi の中でするんでしょうか。これで合ってれば、ほぼ理解できました。
158 名前:nobodyさん mailto:sage [2009/02/13(金) 23:42:06 ID:???.net] >>156 cgi.FieldStorage()は通信を受け取った側(>155のHTMLをそのまま使うとすると、おっしゃる通りpython.cgiの中で) することになります。 ↓に少しサンプルがあるので見てみてください。 www.python.jp/doc/release/lib/node561.html
159 名前:150 mailto:sage [2009/02/14(土) 00:26:36 ID:???.net] なるほど、よくわかりました。ありがとうございます! サンプルの方は既に見てましたよ〜。
160 名前:nobodyさん mailto:sage [2009/02/14(土) 09:03:11 ID:???.net] ttp://www.amazon.co.jp/dp/4797341815/ 入門書嫁。
161 名前:150 mailto:sage [2009/02/14(土) 16:20:41 ID:???.net] 問題がHTMLフォームの挙動を十分に理解していないことにあるとわかったので www.kanzaki.com/docs/html/htminfo31.html htminfo32.html htminfo33.html を読んですっきりしました。
162 名前:nobodyさん mailto:sage [2009/02/15(日) 14:00:15 ID:???.net] こういう人は、皮肉でもなんでもなくPerlCGIから入った方がいいような気がする。 WEBアプリ、特にCGIの入門者が躓きやすいところの情報は、未だにPerl CGIの頃の情報が一番豊富だろ。 んで、悪い癖がつく前にPythonなりRubyなりに移行すれば(またはしなくても)いいんじゃないかと。
163 名前:nobodyさん mailto:sage [2009/02/15(日) 22:49:01 ID:???.net] ほぼ同意だけどPHPのほうが良いと思う。 WEBに特化してるだけあってそのあたりのことも マニュアルで解説されてる。 ただし、Perl以上にPHPのほうが癖が強かったりする。
164 名前:nobodyさん [2009/02/18(水) 19:38:12 ID:q8sXwxpK.net] cgiの仕様は糞 checkboxの受け取り方とかタヒネとか思う
165 名前:nobodyさん mailto:sage [2009/02/19(木) 19:04:35 ID:???.net] タヒネってなんですか?
166 名前:nobodyさん mailto:sage [2009/02/19(木) 22:50:20 ID:???.net] 人生そのものだよ
167 名前:nobodyさん [2009/04/26(日) 16:13:15 ID:+askKVed.net] 質問です。 PythonをWebアプリからはじめて ゆくゆくはGUIもやってみたいなと思ってる初心者ですが オススメの書籍は>>159 の他にありますか? Webアプリのセキュリティあたりにも触れているととても幸せです。 現在チュートリアル見てちまちまと勉強中です。 ソースコードがシンプルで好きになれそう…
168 名前:nobodyさん mailto:sage [2009/04/26(日) 16:14:58 ID:???.net] pythonをwebで使うならDjangoのようなフレームワーク使うのが良いと思うね
169 名前:nobodyさん [2009/04/26(日) 16:19:43 ID:+askKVed.net] >>167 いずれはそうしたいと思うんですが はじめからFWやると細かい部分吸収されちゃって学習出来なさそうなんで 俺俺FW作りつつ勉強してみたいなと思ってます
170 名前:nobodyさん mailto:sage [2009/04/26(日) 18:29:24 ID:???.net] Webアプリ作っていくならPython本より他の本読んだ方がマシだと思われ 身になること書いてないしサンプルコードとモジュールのソースコード読みながらやっていく方が楽だ
171 名前:166 mailto:sage [2009/04/26(日) 18:42:27 ID:???.net] 出先からですが、解答ありがとう 書店きてみましたがPython本の品薄っぷりに泣きました。 暫らくWeb上で調べながらやってみます!
172 名前:nobodyさん mailto:sage [2009/05/05(火) 22:09:13 ID:???.net] WSGIの質問はここでいいですか?
173 名前:nobodyさん mailto: [2009/05/07(木) 09:59:48 ID:???.net] どうぞ
174 名前:nobodyさん mailto:sage [2009/06/10(水) 09:52:49 ID:???.net] 質問です! 最近、BlackJumboDogを使ってWindowsXPでWEBサーバを立てたのですが PerlとRubyは動くのにPythonが動きません。 cmdから「perl -v」「python -v」「ruby -v」をやるとエラーの雰囲気は無い応答が帰ってくるので 問題ないとおもうのですが、何か原因がわかるかたいますか? ちなみに「python -v」を打ち込むとperlやrubyではバージョンとかが出るのですが pythonだけ対話モードみたいなのに入ります。 cgiの中身は以下のようになってます。 #!/python # -*- coding: utf-8 -*- import cgi import cgitb cgitb.enable() print "Content-Type: text/html" print print "hello world." アクセスすると真っ白です。 どなたかお助け願います。お願いしますよろしくお願いします!
175 名前:nobodyさん mailto:sage [2009/06/10(水) 22:27:31 ID:???.net] どうやらインタープリターの呼び分けが ハードコーディングされてるっぽいから 単にPythonに対応してないんでしょ。 ApacheやIISの方が、導入敷居が高くても 結局は情報がたくさんそろっててはまりづらいと思うよ。
176 名前:nobodyさん mailto:sage [2009/06/11(木) 21:30:24 ID:???.net] #!c:\\python\\python.exe とかって書けば動いたぞ
177 名前:nobodyさん mailto:sage [2009/06/12(金) 03:16:41 ID:???.net] 何時の時代の話だ?ってレベル
178 名前:nobodyさん mailto:sage [2009/06/12(金) 10:26:51 ID:???.net] それコピペ
179 名前:nobodyさん mailto:sage [2009/06/12(金) 15:47:46 ID:???.net] winで鯖立てるレベル
180 名前:nobodyさん mailto:sage [2009/06/22(月) 21:45:25 ID:???.net] 意外と便利だよ。Excelファイルごにょごにょとか
181 名前:nobodyさん mailto:sage [2009/06/28(日) 01:29:28 ID:???.net] #!/usr/bin/python
182 名前:nobodyさん mailto:sage [2009/07/03(金) 06:25:05 ID:???.net] ┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘ おっぱい!おっぱい!
183 名前:nobodyさん mailto:sage [2009/07/29(水) 23:21:51 ID:???.net] とりあえず保守
184 名前:nobodyさん [2009/08/07(金) 02:25:12 ID:tKq4DxW5.net] 無料ホームページスペースでpython CGIを動かしたいと思っています。 CGIの内部で、BeautifulSoupを使いたいのですが、 BeautifulSoup.pyを、与えられたスペースに置けば使うことができるのでしょうか?
185 名前:nobodyさん [2009/08/07(金) 03:07:58 ID:tKq4DxW5.net] 183です。自己解決しました。 置けば使うことができる。 しかし、BeautifulSoupの場合はコード量が多すぎるのか memory errorになる。 (もっと小さいオリジナルライブラリなら動く)
186 名前:nobodyさん mailto:sage [2009/08/11(火) 21:51:30 ID:???.net] etreeでがんばるしかないね
187 名前:nobodyさん [2009/08/15(土) 04:13:53 ID:LWrcnMLs.net] .
188 名前:nobodyさん mailto: [2009/08/20(木) 22:09:34 ID:???.net] 「Python 3.1.1」リリース pc11.2ch.net/test/read.cgi/pcnews/1250773470/
189 名前:nobodyさん [2009/10/03(土) 23:03:34 ID:9tHx6UBF.net] PythonってLL言語の中では最速って本当ですか? サーバサイドで使う場合でもPHPよりも優れたパフォーマンスを出せるかどうか心配です。
190 名前:nobodyさん mailto:sage [2009/10/03(土) 23:32:03 ID:???.net] wsgi
191 名前:nobodyさん mailto:sage [2009/10/08(木) 06:16:22 ID:???.net] >>188 Pythonは重いyo さようなら
192 名前:nobodyさん mailto:sage [2009/10/09(金) 22:11:15 ID:???.net] mod_pythonは?
193 名前:nobodyさん mailto:sage [2009/10/10(土) 14:11:35 ID:???.net] ぷゅあCGIじゃない
194 名前:nobodyさん mailto:sage [2009/10/16(金) 14:24:53 ID:???.net] >>188 動的な言語での最速はLuaか最近のJavaScriptじゃないかな。あとRuby1.9とか。 Pythonは、mod_python使うとPHPより速かった。 ただ共有サーバではmod_python使えないので、PHPより速いかどうかは「環境依存」としか言えない。 あとPHPとPythonの速度を気にするよりも、フレームワークやライブラリの速度を気にした方がいい。
195 名前:nobodyさん mailto:sage [2009/10/16(金) 14:26:58 ID:???.net] >>193 あーごめん、追記ね。PHPはAPS入れるとmod_pythonより速いかもしれない。 そういうのも含めて、やっぱり「環境依存」だね。 Pythonは決してPHPより遅いわけではない。でも環境によりけり。
196 名前:nobodyさん mailto:sage [2009/10/17(土) 04:57:06 ID:???.net] Python(>=2.5)+SQLite3爆速
197 名前:nobodyさん mailto:sage [2009/10/17(土) 07:39:06 ID:???.net] ttp://newworld.ddo.jp/doc/PerformanceTips/ 日本語が下手過ぎて読み難いけど速度改善の参考にはなる
198 名前:nobodyさん mailto:sage [2009/10/17(土) 16:20:53 ID:???.net] 下手な翻訳よりもこっち読め ttp://wiki.python.org/moin/PythonSpeed/PerformanceTips
199 名前:nobodyさん mailto:sage [2009/12/04(金) 02:12:35 ID:???.net] mod_pythonの仕様はないよなぁ 作り直したりしないのかな
200 名前:nobodyさん mailto:sage [2009/12/04(金) 03:31:26 ID:???.net] python web framework って流行ってないの。 やるなら実質 gae 一択? pylons しこしこいじってるんだけど、寂しいよ。
201 名前:nobodyさん mailto:sage [2009/12/04(金) 11:45:04 ID:???.net] 自分の場合 django あるいは wsgi で自作 Framework
202 名前:nobodyさん mailto:sage [2009/12/04(金) 11:52:20 ID:???.net] gaeは糞w
203 名前:nobodyさん mailto:sage [2009/12/04(金) 12:06:56 ID:???.net] django一択になってし
204 名前:まったなぁ。 最初はpylonsやtgにも期待してたんだけど。 [] [ここ壊れてます]
205 名前:nobodyさん mailto:sage [2009/12/04(金) 14:48:24 ID:???.net] web.pyでいいよもう
206 名前:199 mailto:sage [2009/12/05(土) 00:23:15 ID:???.net] >>203 web.py の minimal 感良いですね。知らなかった。pylons も minimal な感じが気に入ったんだけど、こっちのが良いかな。 でも pylons より情報少ない感じですね?
207 名前:nobodyさん mailto:sage [2009/12/11(金) 15:26:40 ID:???.net] CherryPyでいい気がしてきた。
208 名前:sage [2009/12/14(月) 17:21:38 ID:DjxYEeHj.net] werkzeugの話題がまったくでないなー
209 名前:nobodyさん mailto:sage [2009/12/15(火) 01:02:33 ID:???.net] >>206 なんて読むの?
210 名前:nobodyさん mailto:sage [2009/12/15(火) 07:34:14 ID:???.net] ヴェルクゾイク
211 名前:nobodyさん mailto:sage [2009/12/15(火) 07:38:21 ID:???.net] d.hatena.ne.jp/perezvon/20090108/1231439151 ヴェルクツォイグ?
212 名前:nobodyさん mailto:sage [2009/12/15(火) 13:14:21 ID:???.net] アルツハイマー
213 名前:nobodyさん [2010/03/12(金) 22:20:20 ID:ervBW8Jl.net] pythonでformの値を受け取る処理ってどんなの? phpだと <?php $name = $_GET['name']; echo $name; ?> こんな感じだけど。
214 名前:nobodyさん mailto:sage [2010/03/13(土) 04:58:15 ID:???.net] def post(self, name): return ([name])
215 名前:nobodyさん mailto:sage [2010/03/13(土) 10:35:27 ID:???.net] >>211 cgi関数で拾ってくれる。
216 名前:nobodyさん mailto:sage [2010/03/13(土) 20:02:06 ID:???.net] そうなのか。知らなかった。
217 名前:nobodyさん mailto:sage [2010/03/14(日) 10:39:03 ID:???.net] >>212 なにこれ?
218 名前:nobodyさん mailto:sage [2010/03/14(日) 13:28:13 ID:???.net] wsgi
219 名前:nobodyさん mailto:sage [2010/03/14(日) 13:39:51 ID:???.net] >>216 なんか勘違いしてる
220 名前:nobodyさん mailto:sage [2010/03/14(日) 13:53:36 ID:???.net] えっ?
221 名前:nobodyさん mailto:sage [2010/03/14(日) 18:03:26 ID:???.net] えっ?
222 名前:nobodyさん mailto:sage [2010/03/14(日) 22:46:37 ID:???.net] えっ?
223 名前:nobodyさん mailto:sage [2010/03/14(日) 22:50:22 ID:???.net] www.python.org/dev/peps/pep-0333/ def simple_app(environ, start_response): """Simplest possible application object""" status = '200 OK' response_headers = [('Content-type','text/plain')] start_response(status, response_headers) return ['Hello world!\n']
224 名前:nobodyさん mailto:sage [2010/03/14(日) 22:53:06 ID:???.net] えっ?
225 名前:nobodyさん mailto:sage [2010/03/14(日) 23:17:42 ID:???.net] def post(self, name): return ([name]) 第二引数に渡されるのはstart_responseです。
226 名前:nobodyさん mailto:sage [2010/03/14(日) 23:37:30 ID:???.net] えっ?
227 名前:nobodyさん mailto:sage [2010/03/15(月) 01:06:07 ID:???.net] お互い噛み合ってないのがそんなに楽しいの。
228 名前:nobodyさん mailto:sage [2010/03/15(月) 01:13:17 ID:???.net] えっ?
229 名前:nobodyさん mailto:sage [2010/03/15(月) 01:21:29 ID:???.net] なにそれこわい
230 名前:nobodyさん mailto:sage [2010/03/15(月) 01:37:57 ID:???.net] えっ?
231 名前:nobodyさん mailto:sage [2010/03/15(月) 18:45:47 ID:???.net] ( ^ω^)えっえっ
232 名前:nobodyさん mailto:sage [2010/03/16(火) 02:37:45 ID:???.net] ( ^ω^)おっおっ
233 名前:nobodyさん mailto:sage [2010/03/16(火) 19:57:20 ID:???.net] os.environ['hoge'] cgi.FieldStorage()['hoge'] の文字コードを調べる方法があれば教えてください。Pythonのバージョンは2.5です
234 名前:nobodyさん mailto:sage [2010/03/17(水) 07:19:18 ID:???.net] def guess_code(s): if isinstance(s, unicode): return 'UNICODE' for c in ['utf-8', 'euc-jp', 'cp932', 'iso-2022-jp', 'latin-1', 'ascii']: try: u = s.decode(c) return c except (UnicodeDecodeError, LookupError): continue else: return 'unknown' s = os.environ['hoge'] print guess_code(s) s = cgi.FieldStorage()['hoge'] print guess_code(s)
235 名前:nobodyさん mailto:sage [2010/03/17(水) 14:55:48 ID:???.net] >>211 import cgi; f = cgi.FieldStorage() value = f.getvalue('name','') print value
236 名前:nobodyさん mailto:sage [2010/03/17(水) 22:35:43 ID:???.net] >>232 ありがとうございます
237 名前:nobodyさん mailto:sage [2010/03/21(日) 22:16:25 ID:???.net] 初めてのPython読んでるけど、これ凄いじゃん。 流行ってないのが信じられないくらい。海外では流行ってるのかな?>PythonCGI
238 名前:nobodyさん mailto:sage [2010/03/22(月) 03:50:53 ID:???.net] 海外ではCGIが廃れてるよ
239 名前:nobodyさん mailto:sage [2010/03/22(月) 07:00:39 ID:???.net] つかWSGIの話題ってここでおk???
240 名前:nobodyさん mailto:sage [2010/03/22(月) 07:11:47 ID:???.net] おk
241 名前:nobodyさん mailto:sage [2010/03/22(月) 16:50:00 ID:???.net] 廃れてんのかよ、そりゃ残念だ
242 名前:nobodyさん mailto:sage [2010/03/22(月) 22:39:31 ID:???.net] 誤解ではないかと。 狭義の意味でのCGIは廃れていいと思う。重いから。 FastCGIで自由にプロセスをまわしたい。
243 名前:nobodyさん mailto:sage [2010/03/22(月) 23:16:58 ID:???.net] 廃れてるつぅかPHPが圧倒的に盛んなだけ。 海外でも無料のレン鯖はCGIでPHP使うなら有償ってのが普通
244 名前:nobodyさん mailto:sage [2010/03/23(火) 00:29:59 ID:???.net] >>240-241 なるほど。 そこらへんの共有レンタルサーバーじゃmod_pythonもFastCGIも使えなさそうだから、CGIとして使う機会はないのかも… クライアントアプリ作るならC#のほうがよさそうだし、おとなしく遊び&学習目的にして、PHPで書くか… ありがとうございました。
245 名前:nobodyさん mailto:sage [2010/03/23(火) 01:48:12 ID:???.net] 俺が知ってるとこだと@pagesがPython使える 国内の無料鯖 今の募集状況知らんけどphpも使えるし垢取れたらとっとけば?
246 名前:nobodyさん mailto:sage [2010/03/23(火) 05:21:48 ID:???.net] xrea
247 名前:nobodyさん mailto:sage [2010/03/23(火) 07:42:38 ID:???.net] あれ?xreaも使えるんか んじゃそっちの方がいいか
248 名前:nobodyさん mailto:sage [2010/03/23(火) 08:24:10 ID:???.net] Pythonが使えるサーバ一覧 ttp://python.rdy.jp/wiki.cgi?page=PythonAvailableServers
249 名前:nobodyさん mailto:sage [2010/03/23(火) 08:54:52 ID:???.net] Pythonのお勉強 でもPerlのwiki(笑)
250 名前:nobodyさん mailto:sage [2010/03/23(火) 17:12:06 ID:???.net] いや、ただのCGIとしてなら有料鯖なら大抵動かせるんだけど、FastCGIは動かせなかったり、バージョンが2.3だったり… バイナリCGIとして動かすって手もあるんだね。 標準ライブラリだけで作るとしたら、どれくらいのサイズになるんだろう。
251 名前:nobodyさん mailto:sage [2010/03/23(火) 17:14:35 ID:???.net] Python 2.6.5/3.1.2リリース sourceforge.jp/magazine/10/03/23/048255
252 名前:nobodyさん mailto:sage [2010/03/23(火) 17:53:38 ID:???.net] wsgiがあればpythonのフレームワークなんていらないのだろうか