Python CGI

このエントリーをはてなブックマークに追加
1nobodyさん
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
2nobodyさん:2006/11/14(火) 23:14:10 ID:???
mod_pythonを排斥するとはゆるせない!
3nobodyさん:2006/11/15(水) 13:33:50 ID:???
まぁ、この板ではサーバーサイドは何でもcgiって呼ぶからなぁ
4+++:2006/11/16(木) 17:28:37 ID:???
mod_python本部
http://www.modpython.org/

mod_pythonマニュアル日本語訳
http://www.python.jp/doc/contrib/modpython/
5nobodyさん:2006/11/18(土) 07:26:35 ID:???
ネタがないかな。というか、あまりPython-CGIってやらないかな。
6nobodyさん:2006/11/18(土) 12:45:05 ID:BbR6q3ov
最小文字数

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

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

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

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

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

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

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

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

print "Satus: 404 Not Found"

or

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

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

Zope とか Django あたりは WSGI サポートしてないかもだが、TurboGears
とか Pylons とかはサポートしてたはず
使ってはいないんでわからんが
23nobodyさん:2007/03/07(水) 22:39:21 ID:???
Djangoは動くってば
24nobodyさん:2007/05/18(金) 21:12:25 ID:???
cgi.FieldStorage()を使ってもうまくパラメータを取得できないような気がする
mod_python の util.FieldStorage(req) でようやっと取得できた
25nobodyさん:2007/05/19(土) 08:11:36 ID:???
26nobodyさん:2007/05/20(日) 08:23:35 ID:???
ああ、そもそもCGIとして呼ばれたものとmod_pythonから呼ばれたものを同類に考えるなって事かな・・・
27nobodyさん:2007/10/31(水) 13:28:00 ID:sGG/8OO0
1 1
28nobodyさん:2007/11/12(月) 15:47:23 ID:???
W Server 2003 の IIS 7 で python CGI っていう組み合わせは変態ですか?
29nobodyさん:2007/11/12(月) 21:00:18 ID:pM40V8Qq
>>28
自覚はあるみたいだね。
30nobodyさん:2007/11/21(水) 12:49:36 ID:3n2kypGE

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

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

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

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

有料だけど、Python が使えるレンサバ
  - http://www.sakura.ne.jp/
  - ・・・
47nobodyさん:2008/04/07(月) 22:41:38 ID:???
有料はほかにもいろいろあると思うけど、
無料は上2つしか見たこと無い、・・・
48nobodyさん:2008/04/08(火) 03:16:35 ID:???
49nobodyさん:2008/04/08(火) 09:24:03 ID:???
> 好きなの選べや
換言すれば国内だと上記二つということか
50nobodyさん:2008/07/01(火) 00:32:30 ID:???
@pages
51nobodyさん:2008/07/30(水) 20:53:03 ID:???
現在だと実質ひとつか・・・
52nobodyさん:2008/08/05(火) 22:08:19 ID:vYQ6tZSI
なんかPythonでつくられたcgiってあんまり見ないね
海外だと多いの?
53nobodyさん:2008/08/05(火) 22:35:19 ID:???
54nobodyさん:2008/08/08(金) 01:59:26 ID:eg0CeB+P
Pythonで作られたブログってない?
55nobodyさん:2008/08/08(金) 11:00:10 ID:???
weblog written by python
これがどれだけ意味不明なフレーズであるか、書く前に気づかないものだろうか
56nobodyさん:2008/08/08(金) 11:14:15 ID:???
>>55
これが噂の中二病か
57nobodyさん:2008/08/08(金) 11:14:55 ID:???
>>55
Weblog written "IN" Pythonな。
中学生は勉強しろよ。
58nobodyさん:2008/08/08(金) 16:08:02 ID:???
Portable PythonにTurboGearsぶちこんだ人って、2chになら1人くらい居ますよね
59nobodyさん:2008/08/08(金) 21:58:38 ID:???
>>57
それもちげぇよw
60nobodyさん:2008/08/08(金) 22:51:23 ID:???
>59
勉強しろよ厨房
61nobodyさん:2008/08/09(土) 02:05:18 ID:???
>>57であってるとおもうけど、なにが違うの? >>59
62nobodyさん:2008/08/09(土) 10:18:50 ID:???
59=55の存在が一番違う
63nobodyさん:2008/08/09(土) 11:53:19 ID:???
普通、powered byを使うように思うが。
文章すらPythonで書かれていればどうか知らんが。
64nobodyさん:2008/08/09(土) 11:56:27 ID:???
少し語弊があるか。
Pythonで書かれたブログシステムはwrittenでいいが、
それを利用したWeblogはpowered。
65nobodyさん:2008/08/09(土) 12:41:27 ID:???
written "by"の話をしてるんでしょうに
66nobodyさん:2008/08/09(土) 12:59:56 ID:???
いずれにしても59=55はいらない子。
67nobodyさん:2008/08/09(土) 13:28:59 ID:???
それよりcgiの話しようぜ!
68nobodyさん:2008/08/09(土) 13:39:04 ID:???
written by Guidoとはいうけど、written by Pythonとは言わないだろ。
勉強しろよ>中学生
69nobodyさん:2008/08/09(土) 14:49:53 ID:???
なんで勝手に55=59にされてんのか意味不明だが、
>>57は明らかにアホ。
外人に聞いてみろよ。ブログの内容pythonで書いてるのと勘違いされるぞ
70nobodyさん:2008/08/09(土) 17:04:59 ID:???
まだ悔し紛れに粘着してるのか
もういいだろ

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

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

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

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

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

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

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

インデントが必要だと書いてあるだろう
106nobodyさん:2008/12/07(日) 17:27:04 ID:xeKPVS3i
>>105
ありがとうございます。できました

>>> a='test'
>>> try:
... a
... except NameError:
... print "a none"
... else:
... print "a is set"
...
'test'
a is set
>>>

...このピリオド3つが最初のインデントだと思い込んでました
107nobodyさん:2008/12/08(月) 19:17:36 ID:???
108nobodyさん:2008/12/09(火) 04:27:12 ID:???
locals()
という関数を呼ぶと自分で定義した変数とか関数とかの一覧(+α)が
返ってくるので、それを使うという方法もある。

>>> a=1
>>> 'a' in locals()
True
109nobodyさん:2008/12/09(火) 17:42:11 ID:???
web.pyのスレはありますか?
110nobodyさん:2008/12/09(火) 21:35:42 ID:???
ありますん
111nobodyさん:2008/12/10(水) 03:03:33 ID:???
どっちだよ
112nobodyさん:2008/12/10(水) 14:27:05 ID:???
113nobodyさん:2008/12/11(木) 05:02:18 ID:???
web.pyじゃないです><
114nobodyさん:2008/12/13(土) 00:35:39 ID:???
PHP捨ててPythonに乗り換えようとしたけど、
日本語訳マニュアルに誤変換が多すぎてバカっぽいからやめるわ
115nobodyさん:2008/12/13(土) 00:50:53 ID:???
PHP使ってる人はPythonやっても幸せになれなさそうだよね・・・
PHPとともに生きるが幸せ
116nobodyさん:2008/12/13(土) 04:04:47 ID:h3kmjY+F
ふむ。
一つの言語だけに絞るのもいいかも知れんね。
趣味ならば。
117nobodyさん:2008/12/15(月) 06:54:35 ID:sacUpYif
mod_pythonでHTMLがうまく表示できないのはなぜ?

from mod_python import apache

def handler(req):
req.content_type = 'text/html'
req.write("<html><head><title>Hello World!</title></head><body>hoge</body></html>")
return apache.OK

writeの引数のテキストがそのまま表示されてしまう。
118nobodyさん:2008/12/15(月) 13:23:12 ID:???
req.headers['content_type'] = 'text/html'
119nobodyさん:2008/12/31(水) 00:18:58 ID:FXljk5zO
python 2.5 の cgi プログラムが動作しません。どのような原因が考えられますでしょうか。

自分で確認した事項等は以下の通りです:
・ ローカルでは動作する
・ パーミッションは755になっている
・ アスキーモードで転送している (バイナリモードでも試してみた)
・ 文字コードは UTF-8 で、プログラム内にも # -*- coding: utf-8 -*- としている
・ import したのは cgi, urllib, re, time
・ cgitb を試みたが、使えていない
120nobodyさん:2008/12/31(水) 00:24:43 ID:???
shebang
121nobodyさん:2008/12/31(水) 00:30:58 ID:???
Pythonへのパスが間違ってるんじゃねえの?
122nobodyさん:2008/12/31(水) 06:43:36 ID:???
apacheのログみろ
123nobodyさん:2008/12/31(水) 13:59:27 ID:???
>パーミッションは755
これだろ
124119:2008/12/31(水) 16:40:57 ID:FXljk5zO
>>121 Python へのパス
同じ場所に別のcgiプログラムを置いたところ、パス指定が同じで正常に動作しますので、それはないと思われます。

>>120 >>122 shebang / apache
当方詳しくないものでわかりません、調べてみましたが使い方とかが…

正常に動くプログラムを部分的に改変することにより再現しようとしたら、文字コードを UTF-8 に (同時に、パスの次の行に
# -*- coding: utf-8 -*-
と) したらエラーが発生することがわかりました。
125fushianasan:2008/12/31(水) 17:06:27 ID:???
しね
126nobodyさん:2008/12/31(水) 18:04:34 ID:kx00N+c5
>>124
UnicodeEncode(Decode)Error
とか出てない?
127119:2008/12/31(水) 18:26:15 ID:FXljk5zO
>>126
ローカル実行時は出ていません。
サーバ実行時はこんだけです:
500 Error - Internal Server Error
CGIもしくはSSIが正しく動作していません。
128nobodyさん:2008/12/31(水) 18:45:54 ID:???
>・ cgitb を試みたが、使えていない

import cgitb; cgitb.enable()
これでもだめ(500 Error - Internal Server Error がでる)って言う意味か?
129nobodyさん:2008/12/31(水) 18:47:20 ID:???
>同じ場所に別のcgiプログラムを置いたところ、パス指定が同じで正常に動作しますので、それはないと思われます。

動くものと動かないもののソース晒せ
130nobodyさん:2008/12/31(水) 19:59:42 ID:kx00N+c5
解決しました
ありがとうございました
131119:2008/12/31(水) 20:38:51 ID:FXljk5zO
>>128
そのとおりです。

>>129
動くもの: エンコーディングは ANSI (windows notepad の)
#!/usr/local/bin/python

import cgi
import urllib
from time import localtime, strftime
filename = strftime("./data/hatena%Y%m%d-%H%M%S.html", localtime())
print ""
target = urllib.urlopen("http://www.google.co.jp/")
data = open(filename, "w")
data.write(target.read())
data.close()
print target.read()

動かないもの: エンコーディングはUTF-8
コードはパスの次の行に
# -*- coding: utf-8 -*-
を追加しただけ
132nobodyさん:2008/12/31(水) 22:14:06 ID:???
target.read()
二回実行して問題ないんかな
133119:2008/12/31(水) 22:29:30 ID:FXljk5zO
>>132
UTF-8 でないものは2回実行しても動きます。
UTF-8 のものは1回でも動きません。

どうやら来年に持ち越しのようですね…。
134nobodyさん:2008/12/31(水) 23:03:42 ID:???
池■田大■作の本名はソン・テチャク。小泉純一郎、小沢一朗は朝鮮人。
911では小型の水爆が使用されている。
http://ri■ch■ardkosh■im■izu.at.webry.info/
創価の保険金殺人事件。
オウム事件は、統一・創価.北朝鮮の共同犯行である。CIAが監修している。
http://www15.ocn.ne.jp/~oy■ako■don/kok_web■site/ir■iguc■hi.htm
与党も野党もメディアも全部朝鮮人だった。
http://jb■bs.li■vedo■or.jp/b■bs/read.cgi/news/20■92/115794■1306/

2ちゃんねるは統一■教会が個人情報を集めるための道具。運営には統一■教会がいる。
駅前で「手相を見せてください」と勧誘してるのが統一教■会。(カルト宗教)  
カルト宗教の下にいる人と上にいる奴を分けて考えないといけない。下にいる利用される人は上がどんなことをしてるか知らない。

ユダヤ権力の子分→2ちゃん運営=統一協会上層部=層化上層部=自民党清和会=野党の朝鮮人ハーフの政治家=
与党の朝鮮人ハーフの政治家=金 正日(キム・ジョンイル )=読売サンケイ=小沢十朗
ユダヤ人=ロックフェラー=ブッシュ=クリントン=ヒラリー=アドルフ・ヒトラー=オサマ・ビンラディン

毎日新聞スレを荒らしてる奴らも統■一教会の可能性が高い。
荒らしは洗脳するために「ネトウヨ」などのレッテル付けレスを何千回もする。
現実には「ネトウヨ」などは存在しない。
http://changi.2ch.net/test/read.cgi/ms/1230363385/
135nobodyさん:2008/12/31(水) 23:22:47 ID:???
>>131
つまりファイルは出来てないんだね
136119:2008/12/31(水) 23:38:28 ID:FXljk5zO
>>135
公開できない文字列を含む部分などを隠していますが、テストコードの段階であることは確かですね。
しかし、より小さいコードで試した結果などから、原因は文字コード周りにあると考えてよいと思います。
この点についてはサーバ管理者に問い合わせましたが、年末につき返信待ちであります。
137nobodyさん:2008/12/31(水) 23:46:18 ID:???
よいお年を
138nobodyさん:2008/12/31(水) 23:47:39 ID:???
python初心者がはまる典型的なパターンじゃないかな
139nobodyさん:2008/12/31(水) 23:50:25 ID:???
>>136
「ファイルは出来てない」はプログラムが完成していないという意味じゃなくて

<ここまでに死んでるのか
data = open(filename, "w")
data.write(target.read())
data.close()
<この辺で死んでるのか
print target.read()
を知りたかった訳なんだけど
どう?
140119:2009/01/01(木) 00:03:06 ID:l/3teeKT
年明けとほぼ同時に解決しましたw
悪の元凶: Windows メモ帳
直接原因: UTF-8 には入れるべきでない余分なヘッダ (?) 3バイトがファイル先頭に挿入されていた
対策: バイナリエディタで開いて先頭3バイトを削除して保存しなおす
141 【大吉】 :2009/01/01(木) 00:09:53 ID:???
あけおめ
142nobodyさん:2009/01/01(木) 00:11:44 ID:???
pythonってBOMに対応してなかったっけ?
143nobodyさん:2009/01/01(木) 00:12:38 ID:???
>UTF-8 には入れるべきでない余分なヘッダ (?) 3バイトがファイル先頭に

BOMのことか
それを「UTF-8 には入れるべきでない」っつーのは言いがかりだな
まあそれが原因で shebang が利かなくなってたのは確かだが
Windows メモ帳 を悪の元凶と言うのは素人
144 【だん吉】 :2009/01/01(木) 00:23:45 ID:fHn+ttSa
>>142
python自体はBOM付いてても受け付けるけど
shellが解釈する時点でだめでしょ
145nobodyさん:2009/01/01(木) 00:27:57 ID:???
悪の元凶: Windows メモ帳
に同意
146nobodyさん:2009/01/01(木) 00:39:00 ID:???
△悪の元凶: Windows メモ帳
○悪の元凶: Windows メモ帳を使用
147 【大凶】 :2009/01/01(木) 17:22:06 ID:???
あけおめ!
148nobodyさん:2009/01/01(木) 19:22:20 ID:???
大凶ワロタw
149nobodyさん:2009/01/02(金) 18:12:01 ID:???
>>144
shebangを解釈するのはカーネルだけどね
150nobodyさん:2009/02/13(金) 18:10:26 ID:???
Python CGI に <input type="submit"> および <input type="reset"> を書いたとします
それぞれをクリックしたら何が起こるんでしょうか?
151nobodyさん:2009/02/13(金) 19:57:40 ID:???
>>150
submit…一緒に出力されているhtmlでsubmitの親ノードになってるformのactionに対して送信する
reset…一緒に出力されているhtmlでresetの親ノードになっているform内のinput/select/textarea等がクリアされる

PythonのCGIって言っても単にブラウザに向かってHTML(たまにCSVとかXMLとかバイナリとか違うものも吐くけど)
を吐き出してるだけなんで、普通のHTMLと同じ挙動をするだけだよ。
152150:2009/02/13(金) 20:37:43 ID:???
あーごめんなさい、書き方が悪かったみたいですね
その「送信された側」などの関係がわからないのです。
153nobodyさん:2009/02/13(金) 20:43:19 ID:???
>>152
ブラウザの実相にもよるけど、大抵のメジャーブラウザはresetはサーバーとの通信を
行わずローカルだけでやるはずなので、送信元になるのが何であっても(静的HTMLでも、
PythonのCGIが吐き出したHTMLでも、PHPやPerlCGIが吐き出したのでも)同じ動きです。

formからの送信を受け取る側がPythonのCGIなら、↓参照
http://www.python.jp/doc/release/lib/module-cgi.html
154150:2009/02/13(金) 22:21:19 ID:???
>>153
そうです、そこ見てたんですよ。
Python 勉強しはじめて、ローカルで動くプログラムはいろいろ書いてはいるんですが
送信側と受信側との関係? というか…
FieldStorage() して getlist(name) というのはわかったのですが
どうやってデータをここに入れてあげればいいのかが…
155nobodyさん:2009/02/13(金) 23:19:15 ID:???
>>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をクリア
156150:2009/02/13(金) 23:39:29 ID:???
まったくないですね… なるほど Python に限った話じゃないからリファレンス見てもほとんど書いてなかったのか

上のコードの場合、FieldStorage() は python.cgi の中でするんでしょうか。これで合ってれば、ほぼ理解できました。
157nobodyさん:2009/02/13(金) 23:42:06 ID:???
>>156
cgi.FieldStorage()は通信を受け取った側(>155のHTMLをそのまま使うとすると、おっしゃる通りpython.cgiの中で)
することになります。

↓に少しサンプルがあるので見てみてください。
http://www.python.jp/doc/release/lib/node561.html
158150:2009/02/14(土) 00:26:36 ID:???
なるほど、よくわかりました。ありがとうございます!
サンプルの方は既に見てましたよ〜。
159nobodyさん:2009/02/14(土) 09:03:11 ID:???
160150:2009/02/14(土) 16:20:41 ID:???
問題がHTMLフォームの挙動を十分に理解していないことにあるとわかったので
http://www.kanzaki.com/docs/html/htminfo31.html htminfo32.html htminfo33.html を読んですっきりしました。
161nobodyさん:2009/02/15(日) 14:00:15 ID:???
こういう人は、皮肉でもなんでもなくPerlCGIから入った方がいいような気がする。
WEBアプリ、特にCGIの入門者が躓きやすいところの情報は、未だにPerl CGIの頃の情報が一番豊富だろ。

んで、悪い癖がつく前にPythonなりRubyなりに移行すれば(またはしなくても)いいんじゃないかと。
162nobodyさん:2009/02/15(日) 22:49:01 ID:???
ほぼ同意だけどPHPのほうが良いと思う。
WEBに特化してるだけあってそのあたりのことも
マニュアルで解説されてる。

ただし、Perl以上にPHPのほうが癖が強かったりする。
163nobodyさん:2009/02/18(水) 19:38:12 ID:q8sXwxpK
cgiの仕様は糞
checkboxの受け取り方とかタヒネとか思う
164nobodyさん:2009/02/19(木) 19:04:35 ID:???
タヒネってなんですか?
165nobodyさん:2009/02/19(木) 22:50:20 ID:???
人生そのものだよ
166nobodyさん:2009/04/26(日) 16:13:15 ID:+askKVed
質問です。
PythonをWebアプリからはじめて
ゆくゆくはGUIもやってみたいなと思ってる初心者ですが
オススメの書籍は>>159の他にありますか?
Webアプリのセキュリティあたりにも触れているととても幸せです。

現在チュートリアル見てちまちまと勉強中です。
ソースコードがシンプルで好きになれそう…
167nobodyさん:2009/04/26(日) 16:14:58 ID:???
pythonをwebで使うならDjangoのようなフレームワーク使うのが良いと思うね
168nobodyさん:2009/04/26(日) 16:19:43 ID:+askKVed
>>167
いずれはそうしたいと思うんですが
はじめからFWやると細かい部分吸収されちゃって学習出来なさそうなんで
俺俺FW作りつつ勉強してみたいなと思ってます
169nobodyさん:2009/04/26(日) 18:29:24 ID:???
Webアプリ作っていくならPython本より他の本読んだ方がマシだと思われ
身になること書いてないしサンプルコードとモジュールのソースコード読みながらやっていく方が楽だ
170166:2009/04/26(日) 18:42:27 ID:???
出先からですが、解答ありがとう
書店きてみましたがPython本の品薄っぷりに泣きました。
暫らくWeb上で調べながらやってみます!
171nobodyさん:2009/05/05(火) 22:09:13 ID:???
WSGIの質問はここでいいですか?
172nobodyさん:2009/05/07(木) 09:59:48 ID:???
どうぞ
173nobodyさん:2009/06/10(水) 09:52:49 ID:???
質問です!
最近、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."

アクセスすると真っ白です。
どなたかお助け願います。お願いしますよろしくお願いします!
174nobodyさん:2009/06/10(水) 22:27:31 ID:???
どうやらインタープリターの呼び分けが
ハードコーディングされてるっぽいから
単にPythonに対応してないんでしょ。

ApacheやIISの方が、導入敷居が高くても
結局は情報がたくさんそろっててはまりづらいと思うよ。
175nobodyさん:2009/06/11(木) 21:30:24 ID:???
#!c:\\python\\python.exe
とかって書けば動いたぞ
176nobodyさん:2009/06/12(金) 03:16:41 ID:???
何時の時代の話だ?ってレベル
177nobodyさん:2009/06/12(金) 10:26:51 ID:???
それコピペ
178nobodyさん:2009/06/12(金) 15:47:46 ID:???
winで鯖立てるレベル
179nobodyさん:2009/06/22(月) 21:45:25 ID:???
意外と便利だよ。Excelファイルごにょごにょとか
180nobodyさん:2009/06/28(日) 01:29:28 ID:???
#!/usr/bin/python
181nobodyさん:2009/07/03(金) 06:25:05 ID:???

    ┌─┐
    │●│
    └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!

182nobodyさん:2009/07/29(水) 23:21:51 ID:???
とりあえず保守
183nobodyさん:2009/08/07(金) 02:25:12 ID:tKq4DxW5
無料ホームページスペースでpython CGIを動かしたいと思っています。
CGIの内部で、BeautifulSoupを使いたいのですが、
BeautifulSoup.pyを、与えられたスペースに置けば使うことができるのでしょうか?
184nobodyさん:2009/08/07(金) 03:07:58 ID:tKq4DxW5
183です。自己解決しました。
置けば使うことができる。
しかし、BeautifulSoupの場合はコード量が多すぎるのか
memory errorになる。
(もっと小さいオリジナルライブラリなら動く)
185nobodyさん:2009/08/11(火) 21:51:30 ID:???
etreeでがんばるしかないね
186nobodyさん:2009/08/15(土) 04:13:53 ID:LWrcnMLs
.
187nobodyさん:2009/08/20(木) 22:09:34 ID:???
188nobodyさん:2009/10/03(土) 23:03:34 ID:9tHx6UBF
PythonってLL言語の中では最速って本当ですか?
サーバサイドで使う場合でもPHPよりも優れたパフォーマンスを出せるかどうか心配です。
189nobodyさん:2009/10/03(土) 23:32:03 ID:???
wsgi
190nobodyさん:2009/10/08(木) 06:16:22 ID:???
>>188
Pythonは重いyo
さようなら
191nobodyさん:2009/10/09(金) 22:11:15 ID:???
mod_pythonは?
192nobodyさん:2009/10/10(土) 14:11:35 ID:???
ぷゅあCGIじゃない
193nobodyさん:2009/10/16(金) 14:24:53 ID:???
>>188
動的な言語での最速はLuaか最近のJavaScriptじゃないかな。あとRuby1.9とか。
Pythonは、mod_python使うとPHPより速かった。
ただ共有サーバではmod_python使えないので、PHPより速いかどうかは「環境依存」としか言えない。
あとPHPとPythonの速度を気にするよりも、フレームワークやライブラリの速度を気にした方がいい。
194nobodyさん:2009/10/16(金) 14:26:58 ID:???
>>193
あーごめん、追記ね。PHPはAPS入れるとmod_pythonより速いかもしれない。
そういうのも含めて、やっぱり「環境依存」だね。
Pythonは決してPHPより遅いわけではない。でも環境によりけり。
195nobodyさん:2009/10/17(土) 04:57:06 ID:???
Python(>=2.5)+SQLite3爆速
196nobodyさん:2009/10/17(土) 07:39:06 ID:???
ttp://newworld.ddo.jp/doc/PerformanceTips/
日本語が下手過ぎて読み難いけど速度改善の参考にはなる
197nobodyさん:2009/10/17(土) 16:20:53 ID:???
下手な翻訳よりもこっち読め
ttp://wiki.python.org/moin/PythonSpeed/PerformanceTips
198nobodyさん:2009/12/04(金) 02:12:35 ID:???
mod_pythonの仕様はないよなぁ
作り直したりしないのかな
199nobodyさん:2009/12/04(金) 03:31:26 ID:???
python web framework って流行ってないの。
やるなら実質 gae 一択?
pylons しこしこいじってるんだけど、寂しいよ。
200nobodyさん:2009/12/04(金) 11:45:04 ID:???
自分の場合
django
あるいは
wsgi で自作 Framework
201nobodyさん:2009/12/04(金) 11:52:20 ID:???
gaeは糞w
202nobodyさん:2009/12/04(金) 12:06:56 ID:???
django一択になってしまったなぁ。
最初はpylonsやtgにも期待してたんだけど。
203nobodyさん:2009/12/04(金) 14:48:24 ID:???
web.pyでいいよもう
204199:2009/12/05(土) 00:23:15 ID:???
>>203
web.py の minimal 感良いですね。知らなかった。pylons も minimal な感じが気に入ったんだけど、こっちのが良いかな。
でも pylons より情報少ない感じですね?
205nobodyさん:2009/12/11(金) 15:26:40 ID:???
CherryPyでいい気がしてきた。
206sage:2009/12/14(月) 17:21:38 ID:DjxYEeHj
werkzeugの話題がまったくでないなー
207nobodyさん:2009/12/15(火) 01:02:33 ID:???
>>206
なんて読むの?
208nobodyさん:2009/12/15(火) 07:34:14 ID:???
ヴェルクゾイク
209nobodyさん:2009/12/15(火) 07:38:21 ID:???
210nobodyさん:2009/12/15(火) 13:14:21 ID:???
アルツハイマー
211nobodyさん:2010/03/12(金) 22:20:20 ID:ervBW8Jl
pythonでformの値を受け取る処理ってどんなの?

phpだと
<?php
$name = $_GET['name'];
echo $name;
?>
こんな感じだけど。
212nobodyさん:2010/03/13(土) 04:58:15 ID:???
def post(self, name):
return ([name])
213nobodyさん:2010/03/13(土) 10:35:27 ID:???
>>211
cgi関数で拾ってくれる。
214nobodyさん:2010/03/13(土) 20:02:06 ID:???
そうなのか。知らなかった。
215nobodyさん:2010/03/14(日) 10:39:03 ID:???
>>212
なにこれ?
216nobodyさん:2010/03/14(日) 13:28:13 ID:???
wsgi
217nobodyさん:2010/03/14(日) 13:39:51 ID:???
>>216
なんか勘違いしてる
218nobodyさん:2010/03/14(日) 13:53:36 ID:???
えっ?
219nobodyさん:2010/03/14(日) 18:03:26 ID:???
えっ?
220nobodyさん:2010/03/14(日) 22:46:37 ID:???
えっ?
221nobodyさん:2010/03/14(日) 22:50:22 ID:???
http://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']

222nobodyさん:2010/03/14(日) 22:53:06 ID:???
えっ?
223nobodyさん:2010/03/14(日) 23:17:42 ID:???
def post(self, name):
return ([name])

第二引数に渡されるのはstart_responseです。
224nobodyさん:2010/03/14(日) 23:37:30 ID:???
えっ?
225nobodyさん:2010/03/15(月) 01:06:07 ID:???
お互い噛み合ってないのがそんなに楽しいの。
226nobodyさん:2010/03/15(月) 01:13:17 ID:???
えっ?
227nobodyさん:2010/03/15(月) 01:21:29 ID:???
なにそれこわい
228nobodyさん:2010/03/15(月) 01:37:57 ID:???
えっ?
229nobodyさん:2010/03/15(月) 18:45:47 ID:???
( ^ω^)えっえっ
230nobodyさん:2010/03/16(火) 02:37:45 ID:???
( ^ω^)おっおっ
231nobodyさん:2010/03/16(火) 19:57:20 ID:???
os.environ['hoge']
cgi.FieldStorage()['hoge']
の文字コードを調べる方法があれば教えてください。Pythonのバージョンは2.5です
232nobodyさん:2010/03/17(水) 07:19:18 ID:???
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)
233nobodyさん:2010/03/17(水) 14:55:48 ID:???
>>211

import cgi;

f = cgi.FieldStorage()
value = f.getvalue('name','')
print value
234nobodyさん:2010/03/17(水) 22:35:43 ID:???
>>232
ありがとうございます
235nobodyさん:2010/03/21(日) 22:16:25 ID:???
初めてのPython読んでるけど、これ凄いじゃん。
流行ってないのが信じられないくらい。海外では流行ってるのかな?>PythonCGI
236nobodyさん:2010/03/22(月) 03:50:53 ID:???
海外ではCGIが廃れてるよ
237nobodyさん:2010/03/22(月) 07:00:39 ID:???
つかWSGIの話題ってここでおk???
238nobodyさん:2010/03/22(月) 07:11:47 ID:???
おk
239nobodyさん:2010/03/22(月) 16:50:00 ID:???
廃れてんのかよ、そりゃ残念だ
240nobodyさん:2010/03/22(月) 22:39:31 ID:???
誤解ではないかと。
狭義の意味でのCGIは廃れていいと思う。重いから。
FastCGIで自由にプロセスをまわしたい。
241nobodyさん:2010/03/22(月) 23:16:58 ID:???
廃れてるつぅかPHPが圧倒的に盛んなだけ。
海外でも無料のレン鯖はCGIでPHP使うなら有償ってのが普通
242nobodyさん:2010/03/23(火) 00:29:59 ID:???
>>240-241
なるほど。
そこらへんの共有レンタルサーバーじゃmod_pythonもFastCGIも使えなさそうだから、CGIとして使う機会はないのかも…
クライアントアプリ作るならC#のほうがよさそうだし、おとなしく遊び&学習目的にして、PHPで書くか…

ありがとうございました。
243nobodyさん:2010/03/23(火) 01:48:12 ID:???
俺が知ってるとこだと@pagesがPython使える
国内の無料鯖
今の募集状況知らんけどphpも使えるし垢取れたらとっとけば?
244nobodyさん:2010/03/23(火) 05:21:48 ID:???
xrea
245nobodyさん:2010/03/23(火) 07:42:38 ID:???
あれ?xreaも使えるんか
んじゃそっちの方がいいか
246nobodyさん:2010/03/23(火) 08:24:10 ID:???
247nobodyさん:2010/03/23(火) 08:54:52 ID:???
Pythonのお勉強

でもPerlのwiki(笑)
248nobodyさん:2010/03/23(火) 17:12:06 ID:???
いや、ただのCGIとしてなら有料鯖なら大抵動かせるんだけど、FastCGIは動かせなかったり、バージョンが2.3だったり…
バイナリCGIとして動かすって手もあるんだね。
標準ライブラリだけで作るとしたら、どれくらいのサイズになるんだろう。
249nobodyさん:2010/03/23(火) 17:14:35 ID:???
Python 2.6.5/3.1.2リリース
http://sourceforge.jp/magazine/10/03/23/048255
250nobodyさん:2010/03/23(火) 17:53:38 ID:???
wsgiがあればpythonのフレームワークなんていらないのだろうか
251nobodyさん:2010/03/24(水) 03:24:36 ID:???
うん
252nobodyさん:2010/03/24(水) 08:54:15 ID:???
RoR に感化されたので PoR 作ってみた
wsgi 使って案外あっさり作れた
253nobodyさん:2010/04/07(水) 09:10:55 ID:???
(´・ω・`)
254nobodyさん:2010/04/25(日) 01:18:15 ID:???
wsgiでphpで書いてあるソフトのアドオンつくれないのかな
をwordpressとか
255nobodyさん:2010/04/25(日) 03:08:50 ID:???
(´・ω・`)
256nobodyさん:2010/05/02(日) 18:55:34 ID:U6XonqdJ
(´・ω・`)
257nobodyさん:2010/05/02(日) 19:19:49 ID:???
(`・ω・´) age
258nobodyさん:2010/05/03(月) 15:27:24 ID:nSJx/Nkb
(´・ω・`) nullpo
259nobodyさん:2010/05/15(土) 19:59:59 ID:???
260nobodyさん:2010/06/09(水) 17:17:32 ID:???
web.pyは素晴らしいなー
261nobodyさん:2010/07/02(金) 20:54:17 ID:???
262nobodyさん:2010/07/06(火) 21:06:35 ID:vP77FDaw
age
263nobodyさん:2010/10/30(土) 04:24:33 ID:???
pythonでcgi書いてる奴少ないんだな
hello worldから先に進まん俺はどこへ行けば……。
264nobodyさん:2010/10/30(土) 05:34:46 ID:???
djangoスレへどうぞ
265nobodyさん:2010/10/30(土) 11:20:17 ID:???
墓場に行けということですね
266nobodyさん:2010/10/30(土) 14:13:39 ID:???
いいえ墓場ではなくて温泉です
267nobodyさん:2010/10/30(土) 15:45:35 ID:???
アッー!
268nobodyさん:2010/10/30(土) 19:40:12 ID:???
名前だけみてcherrypyを選んだ
269nobodyさん:2010/11/01(月) 16:41:55 ID:???
>>263
書いているよ

人に教えられるほどではないけど
270nobodyさん:2010/11/12(金) 18:04:49 ID:S/psY6Sg
    ┌─┐
    │●│
    └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!
271nobodyさん:2011/01/16(日) 16:41:31 ID:Vmy6wBJQ
PythonでのCGIの勉強をしようと思っております。

PerlではTemplateToolKit、PHPではSmartyなどのテンプレートエンジンがありますが、Pythonでは一般的に
テンプレートエンジンとしてどういったものが使われているのでしょうか?
また、PerlのCGIモジュールのようにCGIを利用するためのモジュールはありますか?
272nobodyさん:2011/01/16(日) 19:44:22 ID:???
tempita

import cgi
273nobodyさん:2011/01/16(日) 23:12:48 ID:???
これも便利
import cgitb
274nobodyさん:2011/01/17(月) 03:58:37 ID:???
import cgitb; cgitb.enable
275nobodyさん:2011/01/17(月) 12:50:21 ID:???
>>263
最近、pythonでHTTPレスポンスヘッダを取得する装置とか作った程度のレベル
まだレベル的に早いと思ったけどpythonクックブック注文して入荷待ち状態
276nobodyさん:2011/01/18(火) 15:27:18 ID:???
cgiとcheetahの日本語リファレンスってないの?
検索しても、比較サイトくらいしか出てこないんだが
277nobodyさん:2011/02/06(日) 11:34:47 ID:???
Pythonの勉強をしているのですが、良質な掲示板のサンプルはありませんか?
PythonCGI自体が少ないので、良質なものを取捨選択するのがなかなか難しいです
278nobodyさん:2011/02/06(日) 13:03:22 ID:???
Perlとかの掲示板を移植する作業をしてみてはどうだろうか。
279nobodyさん:2011/02/06(日) 13:25:00 ID:???
ありがとうございます
そういった作業などでも勉強できると思うのですが、
まずはPythonでCGIを作る上でのノウハウというか効率的な書き方や、通例などを勉強したいと思っており
既存のソースコードを読みたいと考えています。
280nobodyさん:2011/02/07(月) 00:03:41 ID:???
wsgi
281nobodyさん:2011/02/12(土) 02:13:53 ID:???
形から入ろうとして結局何もしないの典型的なパターン
282nobodyさん:2011/02/12(土) 12:37:42 ID:???
こう寒いと温泉に入りたくなる
283nobodyさん:2011/02/12(土) 14:45:55 ID:???
参考になるレベルじゃないけど、簡単なお題を決めて
試行錯誤すると気楽だし使い回しできるかもね

入力必須チェックとかメールアドレスチェックとか
284nobodyさん:2011/02/12(土) 18:25:33 ID:???
自分でテンプレート作るのはなかなか楽しい
285nobodyさん:2011/02/13(日) 03:45:30 ID:???
>>284
Jinja2かMakoでいいじゃん。
286nobodyさん:2011/02/21(月) 21:29:34.09 ID:???
287nobodyさん:2011/02/26(土) 01:44:07.03 ID:sf4jvDci
誰かみんPyのO/Rマッパーかhtmlテンプレートのソース晒してくれないか
打ち込んだは良いがエラー発生するわ面倒くさいわで駄目だわ
288nobodyさん:2011/02/26(土) 03:49:05.61 ID:???
289nobodyさん:2011/02/26(土) 10:53:51.77 ID:???
>>288
おー駄目元で聞いてみたんだけどどうもありがとう!
ソース写経するの間違えたりして大変なんだよね
290nobodyさん:2011/02/26(土) 10:58:01.74 ID:???
馬鹿には無理
291nobodyさん:2011/02/26(土) 21:20:05.07 ID:OABn/feM
しっかしpythonスレはことごとく廃れるな
なぜだ
292nobodyさん:2011/02/28(月) 11:46:15.23 ID:???
答えは簡単、Pythonに需要がない
293nobodyさん:2011/02/28(月) 13:13:09.33 ID:???
個人的には重宝してるけど、書き込む話題とか持ってないからなあ
294nobodyさん:2011/03/01(火) 18:12:41.28 ID:0g7hFjNK
linuxでは必須になりつつあるだろ
295nobodyさん:2011/03/01(火) 19:16:57.78 ID:???
なんでも入ってるごった煮
それがLinuxだからな
296nobodyさん:2011/03/02(水) 11:31:01.30 ID:???
>>294
Linux Standard Base 3.2(LSB3.2)にPythonが入ったからね
297nobodyさん:2011/03/02(水) 22:30:38.92 ID:???
今でも鯖管理関係もperl出来ないとつらいかな?
Pythonだけで戦えないもんかな〜
298nobodyさん:2011/03/02(水) 23:31:08.39 ID:RV5SmflQ
遅かれ早かれ置き換わるだろうけどな
299nobodyさん:2011/03/03(木) 07:04:31.65 ID:???
GentooではPython必須
300nobodyさん:2011/03/05(土) 05:39:55.11 ID:???
>>297
うちは perl 駆除続けてる
ほとんど完了しつつある
301nobodyさん:2011/03/05(土) 07:32:34.01 ID:???
>>297
perlを使わない事は出来るけどperlを削除することは出来ない
302nobodyさん:2011/03/06(日) 01:09:19.62 ID:???
Perlでアプリ書くことはもう無いけど
sed/awkの代替・短いスクリプトはperlがまだ適当じゃない?
Textutilsみたいなもんで使えて当たり前的な。サーバ管理なら特に。
303nobodyさん:2011/03/30(水) 12:54:25.51 ID:???
CentOSでもPython抜くとカーネル死ぬんだってなw
304nobodyさん:2011/03/30(水) 21:16:02.89 ID:???
なんじゃそりゃ
305nobodyさん:2011/03/30(水) 21:58:48.93 ID:???
306nobodyさん:2011/04/01(金) 05:18:45.34 ID:???
馬鹿を相手にするな
307nobodyさん:2011/04/01(金) 18:40:01.28 ID:???
PHPのソースPythonに置き換えするのって簡単かな?
PHPはサンプル本がたくさんあるからそこからインスピレーションを得ないとどうやって作っていいのかわからん
308nobodyさん:2011/04/01(金) 19:00:54.12 ID:???
アリだけとマンドクセ
309nobodyさん:2011/04/03(日) 17:39:44.22 ID:???
ただの置き換えなら意味が無い
コンセプト理解したら Python の利点が生かせるものを新たに書き起こす方が良い
そういう意味では CGI よりも WSGI の方が良いでしょう
310nobodyさん:2011/04/03(日) 20:40:18.76 ID:???
誘導されてきました。ここであってますでしょうか。
pylonsを勉強し始めたんだけどいろんなサンプル見ても
各コントローラでコミット文を書いてるだけどそういうもん何でしょうか
トランザクションマネージャーみたいのものってないのしょうか
311nobodyさん:2011/04/16(土) 16:50:54.09 ID:???
やっぱPHPが強すぎるのか…?
312nobodyさん:2011/04/16(土) 17:05:10.15 ID:???
PHPとかオワコン。
すぐにPythonにとって変わられる
313nobodyさん:2011/04/17(日) 17:11:06.89 ID:???
そうか安心した
314nobodyさん:2011/04/19(火) 17:24:12.37 ID:???
PHPは鯖サイドの言語だから仕方ないお
PythonやPerlでネイティブなGUIアプリ書けるけどPHPでは無理
315nobodyさん:2011/04/19(火) 19:15:47.64 ID:???
PHPは嫌いだけど
PHPでもGUIは作れるよ
316nobodyさん:2011/04/20(水) 11:23:19.00 ID:???
pythonはともかくperlのGUIライブラリとかほとんどメンテされてないからなぁ
phpのGUIと同レベル
317nobodyさん:2011/04/20(水) 15:55:56.39 ID:???
単に出来るのと実用的に問題ないのとは超えられない壁があるからな
318nobodyさん:2011/04/21(木) 01:12:12.79 ID:???
WSGIがもっと普及すれば…
319nobodyさん:2011/04/21(木) 20:32:07.14 ID:O9on9yzH
WSGIってただの概念じゃなかったっけ?
テンプレート間の互換性の為の
320nobodyさん:2011/04/23(土) 23:11:46.69 ID:???
何言ってんの?
321nobodyさん:2011/05/10(火) 13:21:10.97 ID:???
>>314
ネイティブなGUIアプリはCとかC++とかDelphiとかじゃないとムリだろ。
322nobodyさん:2011/05/10(火) 19:28:32.81 ID:LKZwrKek
つwxPython
323nobodyさん:2011/05/10(火) 21:40:33.56 ID:???
wxPHP
324nobodyさん:2011/05/30(月) 10:13:53.58 ID:???
ネイティブの意味を判ってない馬鹿がいるな
325nobodyさん:2011/06/08(水) 00:40:56.16 ID:???
Pythonの正規表現について伺います
re, sub, replace, etc...などPythonには沢山の正規表現モジュールがありますが
下記のPHP正規表現の否定はPythonではどう書いたらいいのでしょうか?

if (!ereg("{$_SERVER['PHP_SELF']}", "{$_SERVER['REQUEST_URI']}"))

条件式の判定に使いたいのです。
326nobodyさん:2011/06/08(水) 02:39:08.19 ID:???
ム板で聞いた方が良い
327325:2011/06/08(水) 02:51:26.49 ID:???
解りました、移動します
ム板はCGI嫌うからサーバー変数は隠したほうがいいかな

行ってきます
328nobodyさん:2011/06/08(水) 19:20:38.14 ID:???
>>325
Python の正規表現モジュールは "re" 一個だと思っていいよ。
他はstr.replace や re.sub 等のメソッドや関数のことだと思うけど、
PHPの ereg に相当する処理だったら re.match がそれにあたります。

ただ、元のPHPのコードもそうなんだけど、正規表現を書くところにURLの文字をそのまま渡すのは
URLが正規表現と解釈されてしまうのでよくない。(大抵のケースではきちんと動くので実害は少ないだろうけど)

# NO:
if not re.match(self_url, request_url):

# YES:
if not re.match(re.escape(self_url), request_url):

この例じゃ正規表現使う必要は全然なくて、単純に文字列の比較

if self_url != request_url:

で済むはずです。
329nobodyさん:2011/06/29(水) 18:04:46.48 ID:???
友達の非公開用自鯖でPython3でCGIを勉強したのは良いんだけど
Python3が使えるレンタルサーバが無い
330nobodyさん:2011/06/30(木) 03:13:00.40 ID:???
VPSなら自分で入れられるだろ
331nobodyさん:2011/07/11(月) 06:30:21.58 ID:???
そんなものがあったのか
332nobodyさん:2011/07/21(木) 01:17:02.20 ID:???
pyramidのドキュメント増えてきた
333nobodyさん:2011/08/05(金) 00:50:16.06 ID:???
ASSCI出版の標準Djando 
第11章テンプレートシステム244P-225Pの
サンプルコードについて質問です

-----テンプレート部分----
{% upper %}
This will appear in uppercase {{ your_name }}
{% endupper %}

-----タグ用の関数部分-----
def do_upper(parser, token):
nodelist = parser.parse(('endupper'))
parser.delete_first_token()
return UpperNode(nodelist)

class UpperNode(template.Node):
def __init__(self, nodelist):
self.nodelist = nodelist

def render(self, context):
output = self.nodelist.render(context)
return output.upper()

register.tag('upper', do_upper)

このサンプルは意図通りに動きました。しかし、
return UpperNode(nodelist)でUpperNodeクラスを呼ぶと
何故def render〜のブロックが実行されるのか理解できてません。
自動で呼ばれるのはコンストラクタの__init__メソッド
だけだと思ったのですが。
renderメソッドがどのように実行されたのか教えて貰えないでしょうか。
334nobodyさん:2011/08/05(金) 02:07:44.89 ID:???
こぴぺ乙
335nobodyさん:2011/10/29(土) 04:52:13.01 ID:E8b4spx6
pyramid
336nobodyさん:2011/12/02(金) 13:25:26.73 ID:???
保守
337nobodyさん:2011/12/03(土) 15:08:50.81 ID:???
馬鹿には無理
338nobodyさん:2011/12/08(木) 01:30:05.46 ID:???
今、web.pyでC/S型のコミックビューア作ってます。
ローカルサーバに保存してある(jpg).zip形式のコミックデータを、iPadやAndroid等のブラウザで読めるようにすることが目標です。

そこで、質問なのですが、現在、(jpg).zip書庫の取り扱いで悩んでいます。
zip書庫を解凍することなく、中身のjpg画像を取り出し、HTMLとして表示する、にはどうすればいいのでしょうか?
zipfileモジュールを使って、zip書庫からjpgデータを取り出し、変数に格納することはできました。
が、それをブラウザで表示できるようにする方法がわかりません。
ちなみに、変数に格納したjpgデータをprintしてみたら、プロンプトにバイトコード(?)が出力されました。

よろしくお願いします。
339nobodyさん:2011/12/08(木) 01:34:26.59 ID:???
MHTMLでも使おうかなって思ったがどうなんだろう
340nobodyさん:2011/12/08(木) 11:57:10.55 ID:???
>>338
ヘッダーでContent-typeをjpegにしてからprintしてる?
341338:2011/12/09(金) 17:35:23.80 ID:???
「Content-type python」などのキーワードで、ググってたら、
たまたま画像を表示するサンプルコードを公式ページで見つけたので、それを真似したところ、うまくいきました!
http://webpy.org/images

openメソッドで開いた画像データをreadメソッドで読み取り、それをreturnすると、画像を表示できるんですね〜。
自分は、「HTMLのタグで画像を直接指定する(こういうやつ→<img src="./static/gazou.jpg" />)」という表示法しか知らなかったので、行き詰ってました。

どうもありがとうございました。
342nobodyさん:2011/12/27(火) 20:37:30.27 ID:???
あれ?みんpy web公開で賑わっているかと思ったが。
343338:2011/12/27(火) 22:43:38.89 ID:???
>>342
うおおおおおおおーーーー!!!!!!!!!!!
知らなかった、マジサンクス。
来年、>>342にいいことがありますように( -人-)

ttp://coreblog.org/ats/minpy-web-is-now-free-to-read
344nobodyさん:2011/12/28(水) 00:32:43.65 ID:???
ム板で糞本として盛り上がってる
345nobodyさん:2012/02/17(金) 18:11:39.85 ID:???
この本読んだひといますか?
感想聞かせてください

WSGIウェブプログラミング
ttp://www.amazon.co.jp/dp/4877832882/

書評悪すぎてわろす
346nobodyさん:2012/03/26(月) 19:39:38.19 ID:???
この書評みて買おうとは思えないよねえw
347nobodyさん:2012/03/26(月) 19:42:21.10 ID:???
小さいの作るならflaskでいいし、大きいの作りたいならどじゃんごやpylons/pyramidつかえばいいしな。
わざわざCGIどうのこうのしようと思わないな
348nobodyさん:2012/04/03(火) 20:51:50.73 ID:???
いや、PythonはCGIだと思う。

というかPythonはCGIしか使えないレンタルサーバが多いし。
349nobodyさん:2012/04/13(金) 17:33:31.44 ID:fTA/7IiR
なぜにレンタルサーバー限定?
350nobodyさん:2012/11/28(水) 13:26:24.69 ID:lZcnappL
werkzeug
351nobodyさん:2013/01/09(水) 20:12:16.11 ID:R2XeVya2
CGI用のsessionライブラリはないのかな?
関連のキーワードでぐぐると、自作したって話題がちょいちょい出てくるだけなんだが
352nobodyさん:2013/01/10(木) 19:07:25.41 ID:???
自作したよ
353nobodyさん:2013/01/11(金) 14:13:22.80 ID:???
「Python CGI WSGI」スレがたつのは2030年になるな、このレス数だと
354nobodyさん:2013/01/11(金) 16:39:32.83 ID:TsMR9PmK
前はあったよ
355nobodyさん:2013/09/18(水) 12:06:57.99 ID:gKUd666P
garagara
356nobodyさん:2014/03/24(月) 19:02:38.39 ID:r7fEJCEn
新年あけましておめでとうございます
357nobodyさん:2014/04/22(火) 17:28:22.15 ID:xLyYt3aL
PHPで全角半角混在の文字列をキレイに短縮
ttp://www.renowan.com/blog/?p=681

これをpythonで行いたいのですが、可能でしょうか?
358nobodyさん:2014/04/23(水) 22:19:27.09 ID:epxYuM7n
WSGIを使ったプログラムをいくつかサーバで動かすと、なぜか他のプログラムが表示されることがあります。

ApacheのVirtualHostを利用していくつかのプログラムをサブドメインに関連付けているにも関わらず、
別のサブドメインのページが表示されるといった感じです。

それに関連するのかSQLiteのエラーも出まくります。

これは何が原因なのでしょうか
359nobodyさん:2014/04/24(木) 00:28:40.73 ID:???
>>357
見つけたら編集しておいて下さいませ。

http://www.php2python.com/wiki/function.mb-strimwidth/
360nobodyさん