Firefox中的Python CGI问题

1 投票
1 回答
1152 浏览
提问于 2025-04-16 10:04

我写了一个html表单,想把一个python的cgi脚本和它结合起来。我已经设置好我的apache服务器,可以从cgi-bin目录执行cgi脚本。下面是我的html表单:

<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目录下。但是,当我在表单里输入内容并提交时,火狐浏览器返回一个错误信息,提示:“火狐不知道如何打开这个地址,因为协议(c)没有和任何程序关联”。这个错误是怎么回事?是不是和我html页面中指向cgi脚本的路径有关?谢谢!

1 个回答

1

你说得对:这和HTML页面上CGI脚本的路径有关。表单的 action 属性应该指向服务器上CGI脚本被解释的路径,比如 /cgi-bin/test2.py

既然你犯了这个错误,我猜你对网页开发还不太熟悉。建议你使用mod_wsgi和像Django这样的框架,而不是CGI,特别是如果你预计会有很多访问量,或者你是在做一个网页应用,而不仅仅是处理一个表单。

撰写回答