Firefox中的Python CGI问题
我写了一个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,特别是如果你预计会有很多访问量,或者你是在做一个网页应用,而不仅仅是处理一个表单。