最近我開始閱讀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