Недавно я начал читать «Программирующий Python Марка Лутца - Четвертое издание».Я пользователь 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: //.
Я не уверен, может ли это быть проблемой с моим скриптом или смножество других вещей.Если у кого-то есть предложения по запуску CGI на основе Python для Mac, это было бы замечательно.