最近我开始阅读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的建议那么好。