Python CGI
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/11/14(火) 23:09:04ID:KpRkBouPPyJUG:ドキュメントはここ
http://www.python.jp/Zope/
Python CGI入門みたいの
http://www.gesource.jp/programming/python/cgi/index.html
cgiモジュール説明書
http://www.python.jp/doc/2.4/lib/module-cgi.html
0152150
2009/02/13(金) 20:37:43ID:???その「送信された側」などの関係がわからないのです。
0153nobodyさん
2009/02/13(金) 20:43:19ID:???ブラウザの実相にもよるけど、大抵のメジャーブラウザはresetはサーバーとの通信を
行わずローカルだけでやるはずなので、送信元になるのが何であっても(静的HTMLでも、
PythonのCGIが吐き出したHTMLでも、PHPやPerlCGIが吐き出したのでも)同じ動きです。
formからの送信を受け取る側がPythonのCGIなら、↓参照
http://www.python.jp/doc/release/lib/module-cgi.html
0154150
2009/02/13(金) 22:21:19ID:???そうです、そこ見てたんですよ。
Python 勉強しはじめて、ローカルで動くプログラムはいろいろ書いてはいるんですが
送信側と受信側との関係? というか…
FieldStorage() して getlist(name) というのはわかったのですが
どうやってデータをここに入れてあげればいいのかが…
0155nobodyさん
2009/02/13(金) 23:19:15ID:???他の言語(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をクリア
0156150
2009/02/13(金) 23:39:29ID:???上のコードの場合、FieldStorage() は python.cgi の中でするんでしょうか。これで合ってれば、ほぼ理解できました。
0157nobodyさん
2009/02/13(金) 23:42:06ID:???cgi.FieldStorage()は通信を受け取った側(>155のHTMLをそのまま使うとすると、おっしゃる通りpython.cgiの中で)
することになります。
↓に少しサンプルがあるので見てみてください。
http://www.python.jp/doc/release/lib/node561.html
0158150
2009/02/14(土) 00:26:36ID:???サンプルの方は既に見てましたよ〜。
0159nobodyさん
2009/02/14(土) 09:03:11ID:???入門書嫁。
0160150
2009/02/14(土) 16:20:41ID:???http://www.kanzaki.com/docs/html/htminfo31.html htminfo32.html htminfo33.html を読んですっきりしました。
0161nobodyさん
2009/02/15(日) 14:00:15ID:???WEBアプリ、特にCGIの入門者が躓きやすいところの情報は、未だにPerl CGIの頃の情報が一番豊富だろ。
んで、悪い癖がつく前にPythonなりRubyなりに移行すれば(またはしなくても)いいんじゃないかと。
0162nobodyさん
2009/02/15(日) 22:49:01ID:???WEBに特化してるだけあってそのあたりのことも
マニュアルで解説されてる。
ただし、Perl以上にPHPのほうが癖が強かったりする。
0163nobodyさん
2009/02/18(水) 19:38:12ID:q8sXwxpKcheckboxの受け取り方とかタヒネとか思う
0164nobodyさん
2009/02/19(木) 19:04:35ID:???0165nobodyさん
2009/02/19(木) 22:50:20ID:???0166nobodyさん
2009/04/26(日) 16:13:15ID:+askKVedPythonをWebアプリからはじめて
ゆくゆくはGUIもやってみたいなと思ってる初心者ですが
オススメの書籍は>>159の他にありますか?
Webアプリのセキュリティあたりにも触れているととても幸せです。
現在チュートリアル見てちまちまと勉強中です。
ソースコードがシンプルで好きになれそう…
0167nobodyさん
2009/04/26(日) 16:14:58ID:???0168nobodyさん
2009/04/26(日) 16:19:43ID:+askKVedいずれはそうしたいと思うんですが
はじめからFWやると細かい部分吸収されちゃって学習出来なさそうなんで
俺俺FW作りつつ勉強してみたいなと思ってます
0169nobodyさん
2009/04/26(日) 18:29:24ID:???身になること書いてないしサンプルコードとモジュールのソースコード読みながらやっていく方が楽だ
0170166
2009/04/26(日) 18:42:27ID:???書店きてみましたがPython本の品薄っぷりに泣きました。
暫らくWeb上で調べながらやってみます!
0171nobodyさん
2009/05/05(火) 22:09:13ID:???0172nobodyさん
2009/05/07(木) 09:59:48ID:???0173nobodyさん
2009/06/10(水) 09:52:49ID:???最近、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 "hello world."
アクセスすると真っ白です。
どなたかお助け願います。お願いしますよろしくお願いします!
0174nobodyさん
2009/06/10(水) 22:27:31ID:???ハードコーディングされてるっぽいから
単にPythonに対応してないんでしょ。
ApacheやIISの方が、導入敷居が高くても
結局は情報がたくさんそろっててはまりづらいと思うよ。
0175nobodyさん
2009/06/11(木) 21:30:24ID:???とかって書けば動いたぞ
0176nobodyさん
2009/06/12(金) 03:16:41ID:???0177nobodyさん
2009/06/12(金) 10:26:51ID:???0178nobodyさん
2009/06/12(金) 15:47:46ID:???0179nobodyさん
2009/06/22(月) 21:45:25ID:???0180nobodyさん
2009/06/28(日) 01:29:28ID:???0181nobodyさん
2009/07/03(金) 06:25:05ID:???┌─┐
│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘ おっぱい!おっぱい!
0182nobodyさん
2009/07/29(水) 23:21:51ID:???0183nobodyさん
2009/08/07(金) 02:25:12ID:tKq4DxW5CGIの内部で、BeautifulSoupを使いたいのですが、
BeautifulSoup.pyを、与えられたスペースに置けば使うことができるのでしょうか?
0184nobodyさん
2009/08/07(金) 03:07:58ID:tKq4DxW5置けば使うことができる。
しかし、BeautifulSoupの場合はコード量が多すぎるのか
memory errorになる。
(もっと小さいオリジナルライブラリなら動く)
0185nobodyさん
2009/08/11(火) 21:51:30ID:???0186nobodyさん
2009/08/15(土) 04:13:53ID:LWrcnMLs0187nobodyさん
2009/08/20(木) 22:09:34ID:???http://pc11.2ch.net/test/read.cgi/pcnews/1250773470/
0188nobodyさん
2009/10/03(土) 23:03:34ID:9tHx6UBFサーバサイドで使う場合でもPHPよりも優れたパフォーマンスを出せるかどうか心配です。
0189nobodyさん
2009/10/03(土) 23:32:03ID:???0191nobodyさん
2009/10/09(金) 22:11:15ID:???0192nobodyさん
2009/10/10(土) 14:11:35ID:???0193nobodyさん
2009/10/16(金) 14:24:53ID:???動的な言語での最速はLuaか最近のJavaScriptじゃないかな。あとRuby1.9とか。
Pythonは、mod_python使うとPHPより速かった。
ただ共有サーバではmod_python使えないので、PHPより速いかどうかは「環境依存」としか言えない。
あとPHPとPythonの速度を気にするよりも、フレームワークやライブラリの速度を気にした方がいい。
0194nobodyさん
2009/10/16(金) 14:26:58ID:???あーごめん、追記ね。PHPはAPS入れるとmod_pythonより速いかもしれない。
そういうのも含めて、やっぱり「環境依存」だね。
Pythonは決してPHPより遅いわけではない。でも環境によりけり。
0195nobodyさん
2009/10/17(土) 04:57:06ID:???0196nobodyさん
2009/10/17(土) 07:39:06ID:???日本語が下手過ぎて読み難いけど速度改善の参考にはなる
0197nobodyさん
2009/10/17(土) 16:20:53ID:???ttp://wiki.python.org/moin/PythonSpeed/PerformanceTips
0198nobodyさん
2009/12/04(金) 02:12:35ID:???作り直したりしないのかな
0199nobodyさん
2009/12/04(金) 03:31:26ID:???やるなら実質 gae 一択?
pylons しこしこいじってるんだけど、寂しいよ。
0200nobodyさん
2009/12/04(金) 11:45:04ID:???django
あるいは
wsgi で自作 Framework
0201nobodyさん
2009/12/04(金) 11:52:20ID:???0202nobodyさん
2009/12/04(金) 12:06:56ID:???最初はpylonsやtgにも期待してたんだけど。
0203nobodyさん
2009/12/04(金) 14:48:24ID:???0204199
2009/12/05(土) 00:23:15ID:???web.py の minimal 感良いですね。知らなかった。pylons も minimal な感じが気に入ったんだけど、こっちのが良いかな。
でも pylons より情報少ない感じですね?
0205nobodyさん
2009/12/11(金) 15:26:40ID:???0206sage
2009/12/14(月) 17:21:38ID:DjxYEeHj0208nobodyさん
2009/12/15(火) 07:34:14ID:???0209nobodyさん
2009/12/15(火) 07:38:21ID:???ヴェルクツォイグ?
0210nobodyさん
2009/12/15(火) 13:14:21ID:???0211nobodyさん
2010/03/12(金) 22:20:20ID:ervBW8Jlphpだと
<?php
$name = $_GET['name'];
echo $name;
?>
こんな感じだけど。
0212nobodyさん
2010/03/13(土) 04:58:15ID:???return ([name])
0214nobodyさん
2010/03/13(土) 20:02:06ID:???0216nobodyさん
2010/03/14(日) 13:28:13ID:???0218nobodyさん
2010/03/14(日) 13:53:36ID:???0219nobodyさん
2010/03/14(日) 18:03:26ID:???0220nobodyさん
2010/03/14(日) 22:46:37ID:???0221nobodyさん
2010/03/14(日) 22:50:22ID:???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']
0222nobodyさん
2010/03/14(日) 22:53:06ID:???0223nobodyさん
2010/03/14(日) 23:17:42ID:???return ([name])
第二引数に渡されるのはstart_responseです。
0224nobodyさん
2010/03/14(日) 23:37:30ID:???0225nobodyさん
2010/03/15(月) 01:06:07ID:???0226nobodyさん
2010/03/15(月) 01:13:17ID:???0227nobodyさん
2010/03/15(月) 01:21:29ID:???0228nobodyさん
2010/03/15(月) 01:37:57ID:???0229nobodyさん
2010/03/15(月) 18:45:47ID:???0230nobodyさん
2010/03/16(火) 02:37:45ID:???0231nobodyさん
2010/03/16(火) 19:57:20ID:???cgi.FieldStorage()['hoge']
の文字コードを調べる方法があれば教えてください。Pythonのバージョンは2.5です
0232nobodyさん
2010/03/17(水) 07:19:18ID:???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)
0233nobodyさん
2010/03/17(水) 14:55:48ID:???import cgi;
f = cgi.FieldStorage()
value = f.getvalue('name','')
print value
0235nobodyさん
2010/03/21(日) 22:16:25ID:???流行ってないのが信じられないくらい。海外では流行ってるのかな?>PythonCGI
0236nobodyさん
2010/03/22(月) 03:50:53ID:???0237nobodyさん
2010/03/22(月) 07:00:39ID:???0238nobodyさん
2010/03/22(月) 07:11:47ID:???0239nobodyさん
2010/03/22(月) 16:50:00ID:???0240nobodyさん
2010/03/22(月) 22:39:31ID:???狭義の意味でのCGIは廃れていいと思う。重いから。
FastCGIで自由にプロセスをまわしたい。
0241nobodyさん
2010/03/22(月) 23:16:58ID:???海外でも無料のレン鯖はCGIでPHP使うなら有償ってのが普通
0242nobodyさん
2010/03/23(火) 00:29:59ID:???なるほど。
そこらへんの共有レンタルサーバーじゃmod_pythonもFastCGIも使えなさそうだから、CGIとして使う機会はないのかも…
クライアントアプリ作るならC#のほうがよさそうだし、おとなしく遊び&学習目的にして、PHPで書くか…
ありがとうございました。
0243nobodyさん
2010/03/23(火) 01:48:12ID:???国内の無料鯖
今の募集状況知らんけどphpも使えるし垢取れたらとっとけば?
0244nobodyさん
2010/03/23(火) 05:21:48ID:???0245nobodyさん
2010/03/23(火) 07:42:38ID:???んじゃそっちの方がいいか
0246nobodyさん
2010/03/23(火) 08:24:10ID:???ttp://python.rdy.jp/wiki.cgi?page=PythonAvailableServers
0247nobodyさん
2010/03/23(火) 08:54:52ID:???でもPerlのwiki(笑)
0248nobodyさん
2010/03/23(火) 17:12:06ID:???バイナリCGIとして動かすって手もあるんだね。
標準ライブラリだけで作るとしたら、どれくらいのサイズになるんだろう。
0249nobodyさん
2010/03/23(火) 17:14:35ID:???http://sourceforge.jp/magazine/10/03/23/048255
0250nobodyさん
2010/03/23(火) 17:53:38ID:???0251nobodyさん
2010/03/24(水) 03:24:36ID:???0252nobodyさん
2010/03/24(水) 08:54:15ID:???wsgi 使って案外あっさり作れた
■ このスレッドは過去ログ倉庫に格納されています