Python CGI没有在Mac OSX 10.6.7上执行

时间:2012-01-06 00:28:45

标签: python macos cgi

最近我开始阅读Mark Lutz的“Programming Python - Fourth Edition”。我是一个mac用户,使用ActivePython和OSX 10.6.7。无论如何,一切都很顺利,直到书中的第一个CGI实例。代码示例创建一个表单,并使用POST方法查找某人的姓名:

<html>
<title>Interactive Page</title>
<body>
<form method=POST action="cgi-bin/testing.cgi">
    <p><b>Enter your name:</b>
    <p><input type="text" name="user">
    <p><input type="submit">
</form>
</body>
</html>

然后将CGI脚本放入子目录中,如HTML所示,如下所示:

#!/usr/bin/python
import cgi
form = cgi.FieldStorage()
print("Content-type: text/html\n")
print("<title>Reply Page</title>"
if not 'user' in form:
    print("<h1>Who are you?</h1>")
else:
    print("<h1>Hello <i>%s</i>!</h1>" % cgi.escape(form['user'].value))

然而,当我加载html并运行测试时,脚本不会执行。发生的是浏览器将整个脚本加载为超文本,或者我下载.py文件;取决于我使用的浏览器(Eclipse和Safari显示文本,Chrome和Firefox下载文件)。如果它意味着什么,当我打开.html文件时,它将使用file://而不是http://。

打开

我不确定这可能是我的脚本或其他各种问题。 如果有人有任何关于在Mac上执行基于python的CGI的建议那么好。

1 个答案:

答案 0 :(得分:2)

您需要配置并运行网络服务器,然后通过该网络服务器使用http://localhost:8080/cgi/foo.py等网址访问该文件,而不是文件的本地路径。