トップページ⇒php
359コメント75KB

Python CGI

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/11/14(火) 23:09:04ID:KpRkBouP
PythonでCGI

PyJUG:ドキュメントはここ
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
0006nobodyさん2006/11/18(土) 12:45:05ID:BbR6q3ov
最小文字数

#!/usr/bin/env python
print'\n'
0007nobodyさん2006/11/18(土) 18:46:47ID:???
print 'Content-type: text/html\n'
0008未テスト2006/11/19(日) 19:08:52ID:???
カウンター

#!/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">
0009nobodyさん2006/11/23(木) 01:04:44ID:???
>>1
Guidoたんのプレゼンも入大回転。

Using Python for CGI programming
http://www.python.org/doc/essays/ppt/sd99east/index.htm
0010nobodyさん2006/11/28(火) 04:26:32ID:???
本スレ見てて思ったんだけど、
urllib2とかcookielibのインターフェースって結構使いづらい&分かりづらい
ような気が・・・
cookielibとかperlのモジュールを参考にしてますとか堂々と書いてるのも
どうかと思う
0011nobodyさん2006/11/29(水) 23:14:00ID:URfZB542
>>10

あべし?
0012nobodyさん2006/11/30(木) 00:29:04ID:???
>>11

…ひでぶ???
0013nobodyさん2006/11/30(木) 16:25:25ID:???
>>11

>>10参照。
0014nobodyさん2007/02/26(月) 13:32:06ID:5UU9u3Sv
ネタ降ってみるか。
CGIでも使えるframeworkってある?
DjangoもTurbogearsもCGIでは使い物にならん。
0015nobodyさん2007/02/26(月) 17:58:42ID:???
TurboGearsはCGIでの設置方法がよくわからんかったから諦めたけど
Djangoは結構普通にCGIで動いたよ。
DB使えないとかは当然ダメだけど。
0016nobodyさん2007/02/26(月) 20:41:31ID:???
PythonでつくったCGIをコマンドラインから実行してテストしたいんだけど、
リクエストパラメータの渡し方が分かりません。
echo 'QUERY_STRING: key=value' | python hoge.cgi
としてみてもだめでした。いい方法ないですか。
0017nobodyさん2007/02/27(火) 14:06:35ID:???
環境変数QUERY_STRINGに値を入れておく。
Windowsなら

set QUERY_STRING=key1=value1;key2=value2
python hoge.cgi

こんな感じじゃだめかい
0018nobodyさん2007/02/27(火) 21:04:49ID:???
>>17
それでうまく行きました。サンクス。
そういやそうだよな。なんで気づかなかったんだろう。
0019nobodyさん2007/02/28(水) 11:07:02ID:???
Pythonでcgiモジュール使ってるんだけど、HTTPレスポンスのステータスコードを指定する方法が分からん。
知ってたら教えてちょ。
0020nobodyさん2007/02/28(水) 12:09:53ID:???
>>19

print "Satus: 404 Not Found"

or

print "Status: 301 Moved Permanently"
print "Location: /some/where/index.html"

でいけた。cgiモジュールは関係なかったorz。
0021nobodyさん2007/03/04(日) 20:43:32ID:???
CGIをPythonで書くとして、テンプレートエンジンはどれがおすすめでしょうか。
0022nobodyさん2007/03/04(日) 23:42:21ID:???
>>14
WSGI サポートした app 作れるなら CGI で動かせる希ガス
ttp://d.hatena.ne.jp/tokuhirom/20061128/1164680664

Zope とか Django あたりは WSGI サポートしてないかもだが、TurboGears
とか Pylons とかはサポートしてたはず
使ってはいないんでわからんが
0023nobodyさん2007/03/07(水) 22:39:21ID:???
Djangoは動くってば
0024nobodyさん2007/05/18(金) 21:12:25ID:???
cgi.FieldStorage()を使ってもうまくパラメータを取得できないような気がする
mod_python の util.FieldStorage(req) でようやっと取得できた
0025nobodyさん2007/05/19(土) 08:11:36ID:???
cgi.FieldStorage()のマニュアルをよく読め。

ttp://www.python.jp/doc/release/lib/node457.html
ttp://www.python.jp/doc/release/lib/node458.html
0026nobodyさん2007/05/20(日) 08:23:35ID:???
ああ、そもそもCGIとして呼ばれたものとmod_pythonから呼ばれたものを同類に考えるなって事かな・・・
0027nobodyさん2007/10/31(水) 13:28:00ID:sGG/8OO0
1 1
0028nobodyさん2007/11/12(月) 15:47:23ID:???
W Server 2003 の IIS 7 で python CGI っていう組み合わせは変態ですか?
0029nobodyさん2007/11/12(月) 21:00:18ID:pM40V8Qq
>>28
自覚はあるみたいだね。
0030nobodyさん2007/11/21(水) 12:49:36ID:3n2kypGE

そんなヘンタイさんのためのページがあったのでメモ

ttp://code.djangoproject.com/wiki/DjangoOnWindowsWithIISAndSQLServer
0031nobodyさん2007/12/05(水) 04:01:40ID:???
http://code.djangoproject.com/ticket/2407
0032nobodyさん2007/12/06(木) 02:06:23ID:???
age
0033nobodyさん2007/12/06(木) 17:27:02ID:4cNz8/z3
PythonでPerlで言う%ENVってどう取得するの?
0034nobodyさん2007/12/06(木) 19:32:57ID:???
import os
os.environ
0035nobodyさん2007/12/06(木) 20:06:48ID:???
>>34
超ありがとう
0036nobodyさん2008/01/07(月) 23:59:40ID:???
a
0037nobodyさん2008/01/08(火) 17:07:19ID:???
b
0038nobodyさん2008/01/09(水) 12:10:27ID:???
bcpl
0039nobodyさん2008/01/17(木) 14:40:53ID:???
pythonでContent-type: application/octet-stream
と指定したいんだけど、どうすればいいの
0040nobodyさん2008/01/17(木) 18:11:42ID:???
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
0041nobodyさん2008/01/17(木) 19:48:54ID:???
できないんですね。諦めました
0042nobodyさん2008/01/25(金) 06:20:43ID:???
>>39
CGIならそのまま
print "COntent-Type: application/octeat-stream"
print ""
でいいんじゃないの?
0043nobodyさん2008/02/07(木) 17:51:11ID:???
>>24
昔、

f = cgi.FieldStorage()
g = cgi.FieldSrorage()

とやると、g には情報が入ってないということに気づいてなくて、
ハマった思い出がある・・・、それかも?
0044nobodyさん2008/04/06(日) 11:03:18ID:+rP1g4GY
age
0045nobodyさん2008/04/06(日) 17:07:41ID:???
>>43
それ、今でも時々はまるわw
0046nobodyさん2008/04/07(月) 22:39:30ID:1NhJidwR
無料で、Python が使えるレンサバ
  - http://land.to/
  - http://www.xrea.com/

有料だけど、Python が使えるレンサバ
  - http://www.sakura.ne.jp/
  - ・・・
0047nobodyさん2008/04/07(月) 22:41:38ID:???
有料はほかにもいろいろあると思うけど、
無料は上2つしか見たこと無い、・・・
0048nobodyさん2008/04/08(火) 03:16:35ID:???
好きなの選べや
http://www.google.com/search?hl=en&q=free+hosting+python&btnG=Google+Search
0049nobodyさん2008/04/08(火) 09:24:03ID:???
> 好きなの選べや
換言すれば国内だと上記二つということか
0050nobodyさん2008/07/01(火) 00:32:30ID:???
@pages
0051nobodyさん2008/07/30(水) 20:53:03ID:???
現在だと実質ひとつか・・・
0052nobodyさん2008/08/05(火) 22:08:19ID:vYQ6tZSI
なんかPythonでつくられたcgiってあんまり見ないね
海外だと多いの?
0053nobodyさん2008/08/05(火) 22:35:19ID:???
http://adwords.google.com/support/bin/answer.py?hl=jp&answer=44500
0054nobodyさん2008/08/08(金) 01:59:26ID:eg0CeB+P
Pythonで作られたブログってない?
0055nobodyさん2008/08/08(金) 11:00:10ID:???
weblog written by python
これがどれだけ意味不明なフレーズであるか、書く前に気づかないものだろうか
0056nobodyさん2008/08/08(金) 11:14:15ID:???
>>55
これが噂の中二病か
0057nobodyさん2008/08/08(金) 11:14:55ID:???
>>55
Weblog written "IN" Pythonな。
中学生は勉強しろよ。
0058nobodyさん2008/08/08(金) 16:08:02ID:???
Portable PythonにTurboGearsぶちこんだ人って、2chになら1人くらい居ますよね
0059nobodyさん2008/08/08(金) 21:58:38ID:???
>>57
それもちげぇよw
0060nobodyさん2008/08/08(金) 22:51:23ID:???
>59
勉強しろよ厨房
0061nobodyさん2008/08/09(土) 02:05:18ID:???
>>57であってるとおもうけど、なにが違うの? >>59
0062nobodyさん2008/08/09(土) 10:18:50ID:???
59=55の存在が一番違う
0063nobodyさん2008/08/09(土) 11:53:19ID:???
普通、powered byを使うように思うが。
文章すらPythonで書かれていればどうか知らんが。
0064nobodyさん2008/08/09(土) 11:56:27ID:???
少し語弊があるか。
Pythonで書かれたブログシステムはwrittenでいいが、
それを利用したWeblogはpowered。
0065nobodyさん2008/08/09(土) 12:41:27ID:???
written "by"の話をしてるんでしょうに
0066nobodyさん2008/08/09(土) 12:59:56ID:???
いずれにしても59=55はいらない子。
0067nobodyさん2008/08/09(土) 13:28:59ID:???
それよりcgiの話しようぜ!
0068nobodyさん2008/08/09(土) 13:39:04ID:???
written by Guidoとはいうけど、written by Pythonとは言わないだろ。
勉強しろよ>中学生
0069nobodyさん2008/08/09(土) 14:49:53ID:???
なんで勝手に55=59にされてんのか意味不明だが、
>>57は明らかにアホ。
外人に聞いてみろよ。ブログの内容pythonで書いてるのと勘違いされるぞ
0070nobodyさん2008/08/09(土) 17:04:59ID:???
まだ悔し紛れに粘着してるのか
もういいだろ

written in Pythonでブログの内容をPythonで
書いてると勘違いするような基地外はいないよ
お前くらいしか
0071nobodyさん2008/08/09(土) 17:13:00ID:???
なんでつまらない話題で盛り上がってるの?バカなの?
0072nobodyさん2008/08/11(月) 05:22:01ID:???
だよな。
written for Pythonで終わりの話だろ。
0073nobodyさん2008/08/11(月) 09:02:47ID:???
>>69
>外人に聞いてみろよ。
知り合いのロシア人に聞いてみたけど「わかんね」って言ってた(www>
0074nobodyさん2008/08/12(火) 22:31:30ID:hynniAyL
54>>
http://wiki.python.org/moin/PythonBlogSoftware
ここから探してみて。
0075nobodyさん2008/08/12(火) 23:37:44ID:???
>>74
Python Desktop ServerがZope Baseとかないわ(www
0076nobodyさん2008/08/26(火) 20:27:56ID:???
written by pythonでも通じると思うよ。
「パイソンさんによって書かれています」みたいな感じでしょ?
0077nobodyさん2008/08/26(火) 21:12:09ID:???
Pythonが自分の意志を持って書いたんだったらいいんじゃね。
0078nobodyさん2008/08/26(火) 21:21:42ID:???
まだやってんのかww
0079nobodyさん2008/08/27(水) 19:53:32ID:???
pythonのCGIなんて使う人いないんです
0080nobodyさん2008/08/28(木) 00:11:38ID:???
粘着してる暇があったらpygameの翻訳しろよ>中学生
0081nobodyさん2008/09/11(木) 03:03:43ID:PPyFAFla
根性曲がりきった大人が多すぎwwWWwwww
0082nobodyさん2008/09/11(木) 08:43:02ID:???
他人のこと考える暇があったらpygameの翻訳しろよ>引きこもり
0083nobodyさん2008/09/11(木) 23:02:54ID:???
pygame のドキュメントが読めないの?
0084nobodyさん2008/09/13(土) 01:15:13ID:???
pygame関係ないじゃん
0085nobodyさん2008/09/13(土) 13:10:09ID:???
パイつながりだろ!
0086nobodyさん2008/09/14(日) 09:11:46ID:???
そんなこと言ったら、pychinko まで python と
関係あることになるぞ
0087nobodyさん2008/09/15(月) 03:01:54ID:???
pythonでcgiやるときに、CSSでデザインするのはどうやってやるの?
0088nobodyさん2008/09/15(月) 04:28:01ID:???
ちがうよぜんぜんちがうよ
0089nobodyさん2008/09/15(月) 13:49:02ID:???
>>87
釣りか?
HTMLに埋め込むか、
ファイルにCSSを書いて @import か linkタグで読み込ませる
0090nobodyさん2008/09/15(月) 14:23:02ID:???
<link rel="stylesheet" href="file.css">
0091nobodyさん2008/09/23(火) 20:07:32ID:???
>>89,90

ありがとう!、そうやればいいのか。
0092nobodyさん2008/11/11(火) 01:09:48ID:???
GoogleはpythonでCGI?
今日からperlやめてpythonにしよ。
0093nobodyさん2008/11/11(火) 01:38:42ID:???
Googleが通常使う言語のひとつにしてるだけだがな・・・
0094 2008/11/27(木) 12:54:04ID:???
Pythonで配列を代入するにはどうすればいいですか?
例えばPHPで

$A = array(
"{$ONE['test']}",
"{$TWO['test']}",
"{$THREE['test']}"
);

こういうのをPython式に置き換えると?
0095nobodyさん2008/11/27(木) 14:35:47ID:???
>>94
配列とはちょっと違うが辞書とリストならこんな感じ?

ONE = { 'test':'hoge' }
TWO = { 'test':'sage' }
THREE = { 'test':'age' }
A = [ONE['test'],TWO['test'],THREE['test']]
0096nobodyさん2008/11/27(木) 16:27:04ID:???
A = {
'ONE':'test',
'TWO':'test',
'THREE':'test'
}
0097942008/11/27(木) 17:15:30ID:???
出来ました!
ありがとうございました
0098 2008/12/05(金) 02:25:27ID:???
連想配列と辞書とリストの違いが解りません。
どういうこと?
0099nobodyさん2008/12/06(土) 12:58:50ID:???
変数が定義されているか判定したいんですが
PHPでいうissetみたいなものはありますか?
0100nobodyさん2008/12/06(土) 15:52:12ID:???
ありません。
NameErrorやAttributeErrorを捕まえてください。
0101 2008/12/07(日) 12:29:28ID:???
具体的にどうやればいいんでしょうか?
0102nobodyさん2008/12/07(日) 15:09:25ID:???
try:
  a
except NameError:
  print "aなし"
else:
  print "aあり"

変数があるかないか調べなきゃいけないようなコードを書くほうが間違ってると思うけどな。
0103 2008/12/07(日) 15:50:16ID:???
>>102
回答ありがとうございます
プログラム(まずはCGI)の勉強のためにPythonを選びました。
何から始めたらいいのか分からなかったので配付されている
PHPのスクリプトをPythonに移植してみようと思い立ちました。
まともに動くようになったら指摘された箇所を見直して見ようと思います。
そこまで理解が深まればの話ですけど。
0104nobodyさん2008/12/07(日) 17:09:45ID:xeKPVS3i
>>> try:
... a
File "<stdin>", line 2
a
^
IndentationError: expected an indented block

except打つまえにこんなの出る
0105nobodyさん2008/12/07(日) 17:20:23ID:???
>>104
http://flickr.com/photos/shinji_i/2282608491/

インデントが必要だと書いてあるだろう
■ このスレッドは過去ログ倉庫に格納されています