2011-01-16 10 views
1

私はhtmlフォームを作成しており、python cgiスクリプトを組み込んでいます。私はすでにcgi-binディレクトリからcgiスクリプトを実行するために私のapacheサーバを設定しました。ここでは、HTMLフォームがあります:Firefoxのpython cgiに関する問題

<html> 
<body> 
<form name="input" action="c:/xampp/cgi-bin/test2.py" method="post"> 
    <input type="text" name="qry" /> 
    <input type="submit" value="GO!" /> 
</form> 
</body> 
</html> 

そして、ここではtest2.py CGIスクリプトです:

#!c:/Python27/python.exe -u 
import cgi 
import cgitb 
cgitb.enable() 
form = cgi.FieldStorage() 
qry = form["qry"].value 
print "Content-Type: text/html" 
print 


print "<html" 
print "<body>" 
print qry 
print "</body>" 
print "</html>" 

htmlページが私のhtdocsフォルダに配置され、CGIスクリプトはCGI-binディレクトリにあります。しかし、フォームに何かを入力して送信すると、「Firefoxはプロトコル(c)がどのプログラムにも関連付けられていないため、このアドレスを開く方法がわかりません」というエラーメッセージが返されます。このエラーはなぜ発生しますか?それは私のHTMLページのCGI​​スクリプトへの私の道と関係がありますか?前もって感謝します!

+2

アクション= "/ cgi-bin/test2.py" – cgohlke

+0

cgi-binを使用しますか?ノスタルジックな... –

答えて

1

あなたは正しい:それはHTMLページのCGI​​スクリプトへのパスと関係があります。フォームのaction属性は、CGIスクリプトがサーバー上で解釈されるパスを参照する必要があります(例:/cgi-bin/test2.py)。

この間違いをしたので、私はあなたがウェブ開発の初心者であると推測しています。 CGIの代わりにmod_wsgiとDjangoのようなフレームワークを使用することを検討してください。特にトラフィックが多い場合や、単一のフォームを扱うだけでなく、Webアプリケーションを作っている場合には、

関連する問題