Python CGI
まぁ、この板ではサーバーサイドは何でもcgiって呼ぶからなぁ ネタがないかな。というか、あまりPython-CGIってやらないかな。 最小文字数 #!/usr/bin/env python print'\n' print 'Content-type: text/html\n' カウンター #!/usr/bin/env python file="log.dat" count=int(open(file).read())+1 open(file,'w').write(count) print"""content-type:text/javascript document.write("%s")""" % count 呼び出し側 <script src="counter.cgi"> 本スレ見てて思ったんだけど、 urllib2とかcookielibのインターフェースって結構使いづらい&分かりづらい ような気が・・・ cookielibとかperlのモジュールを参考にしてますとか堂々と書いてるのも どうかと思う ネタ降ってみるか。 CGIでも使えるframeworkってある? DjangoもTurbogearsもCGIでは使い物にならん。 TurboGearsはCGIでの設置方法がよくわからんかったから諦めたけど Djangoは結構普通にCGIで動いたよ。 DB使えないとかは当然ダメだけど。 PythonでつくったCGIをコマンドラインから実行してテストしたいんだけど、 リクエストパラメータの渡し方が分かりません。 echo 'QUERY_STRING: key=value' | python hoge.cgi としてみてもだめでした。いい方法ないですか。 環境変数QUERY_STRINGに値を入れておく。 Windowsなら set QUERY_STRING=key1=value1;key2=value2 python hoge.cgi こんな感じじゃだめかい >>17 それでうまく行きました。サンクス。 そういやそうだよな。なんで気づかなかったんだろう。 Pythonでcgiモジュール使ってるんだけど、HTTPレスポンスのステータスコードを指定する方法が分からん。 知ってたら教えてちょ。 >>19 print "Satus: 404 Not Found" or print "Status: 301 Moved Permanently" print "Location: /some/where/index.html" でいけた。cgiモジュールは関係なかったorz。 CGIをPythonで書くとして、テンプレートエンジンはどれがおすすめでしょうか。 >>14 WSGI サポートした app 作れるなら CGI で動かせる希ガス ttp://d.hatena.ne.jp/tokuhirom/20061128/1164680664 Zope とか Django あたりは WSGI サポートしてないかもだが、TurboGears とか Pylons とかはサポートしてたはず 使ってはいないんでわからんが cgi.FieldStorage()を使ってもうまくパラメータを取得できないような気がする mod_python の util.FieldStorage(req) でようやっと取得できた cgi.FieldStorage()のマニュアルをよく読め。 ttp://www.python.jp/doc/release/lib/node457.html ttp://www.python.jp/doc/release/lib/node458.html ああ、そもそもCGIとして呼ばれたものとmod_pythonから呼ばれたものを同類に考えるなって事かな・・・ W Server 2003 の IIS 7 で python CGI っていう組み合わせは変態ですか? そんなヘンタイさんのためのページがあったのでメモ ttp://code.djangoproject.com/wiki/DjangoOnWindowsWithIISAndSQLServer PythonでPerlで言う%ENVってどう取得するの? pythonでContent-type: application/octet-stream と指定したいんだけど、どうすればいいの setHeader(name, value): Sets an HTTP return header "name" with value "value", clearing the previous value set for the header, if one exists. If the literal flag is true, the case of the header name is preserved, otherwise word-capitalization will be performed on the header name on output. Permission Always available >>39 CGIならそのまま print "COntent-Type: application/octeat-stream" print "" でいいんじゃないの? >>24 昔、 f = cgi.FieldStorage() g = cgi.FieldSrorage() とやると、g には情報が入ってないということに気づいてなくて、 ハマった思い出がある・・・、それかも? 有料はほかにもいろいろあると思うけど、 無料は上2つしか見たこと無い、・・・ > 好きなの選べや 換言すれば国内だと上記二つということか なんかPythonでつくられたcgiってあんまり見ないね 海外だと多いの? weblog written by python これがどれだけ意味不明なフレーズであるか、書く前に気づかないものだろうか >>55 Weblog written "IN" Pythonな。 中学生は勉強しろよ。 Portable PythonにTurboGearsぶちこんだ人って、2chになら1人くらい居ますよね >>57 であってるとおもうけど、なにが違うの? >>59 普通、powered byを使うように思うが。 文章すらPythonで書かれていればどうか知らんが。 少し語弊があるか。 Pythonで書かれたブログシステムはwrittenでいいが、 それを利用したWeblogはpowered。 written by Guidoとはいうけど、written by Pythonとは言わないだろ。 勉強しろよ>中学生 なんで勝手に55=59にされてんのか意味不明だが、 >>57 は明らかにアホ。 外人に聞いてみろよ。ブログの内容pythonで書いてるのと勘違いされるぞ まだ悔し紛れに粘着してるのか もういいだろ written in Pythonでブログの内容をPythonで 書いてると勘違いするような基地外はいないよ お前くらいしか なんでつまらない話題で盛り上がってるの?バカなの? だよな。 written for Pythonで終わりの話だろ。 >>69 >外人に聞いてみろよ。 知り合いのロシア人に聞いてみたけど「わかんね」って言ってた(www> >>74 Python Desktop ServerがZope Baseとかないわ(www written by pythonでも通じると思うよ。 「パイソンさんによって書かれています」みたいな感じでしょ? Pythonが自分の意志を持って書いたんだったらいいんじゃね。 粘着してる暇があったらpygameの翻訳しろよ>中学生 他人のこと考える暇があったらpygameの翻訳しろよ>引きこもり そんなこと言ったら、pychinko まで python と 関係あることになるぞ pythonでcgiやるときに、CSSでデザインするのはどうやってやるの? >>87 釣りか? HTMLに埋め込むか、 ファイルにCSSを書いて @import か linkタグで読み込ませる <link rel="stylesheet" href="file.css"> >>89 ,90 ありがとう!、そうやればいいのか。 GoogleはpythonでCGI? 今日からperlやめてpythonにしよ。 Googleが通常使う言語のひとつにしてるだけだがな・・・ Pythonで配列を代入するにはどうすればいいですか? 例えばPHPで $A = array( "{$ONE['test']}", "{$TWO['test']}", "{$THREE['test']}" ); こういうのをPython式に置き換えると? >>94 配列とはちょっと違うが辞書とリストならこんな感じ? ONE = { 'test':'hoge' } TWO = { 'test':'sage' } THREE = { 'test':'age' } A = [ONE['test'],TWO['test'],THREE['test']] A = { 'ONE':'test', 'TWO':'test', 'THREE':'test' } 連想配列と辞書とリストの違いが解りません。 どういうこと? 変数が定義されているか判定したいんですが PHPでいうissetみたいなものはありますか? ありません。 NameErrorやAttributeErrorを捕まえてください。 read.cgi ver 07.4.7 2024/03/31 Walang Kapalit ★ | Donguri System Team 5ちゃんねる