最近我开始阅读Mark Lutz的“Programming Python - Fourth Edition”。我是一个mac用户,使用ActivePython和OSX 10.6.7。无论如何,一切都很顺利,直到本书中的CGI的第一例。该代码示例创建一个表单,并使用POST方法查找某人的名字:Python CGI不能在Mac OSX上执行10.6.7
<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将是伟大的。
这是服务器配置问题,而不是编程问题。你的Apache httpd.conf是什么样的?例如,你是否遵循http://webpython.codepoint.net/mod_python_publisher_apache_configuration(我假设ActivePython附带mod_python)。 – kindall 2012-01-06 00:32:34