Любое количество проблем может вызвать ошибку, которую вы видите:
- Является ли
test.cgi
исполняемым (chmod 755) на сервере?
- Является ли каталог, в который вы поместили
test.cgi
, обозначенным как ScriptAlias расположение или у которого включена опция ExecCGI (или эквивалент, если вы не используете Apache)?
-
python
в системе PATH
или PATH
в среде запуска веб-сервера?
- Установлена ли библиотека MySQLdb Python?
- Правильны ли параметры
connect()
? MySQL работает на localhost через порт по умолчанию?
- Правильно ли выражение
SELECT
?
Если вы уверены, что python
найден (протестируйте его с помощью простейшего сценария или, если сможете, войдя на веб-сервер и набрав which python
), вы можете получить намного лучший результат отладки, добавив следующее в верхняя часть вашего сценария чуть ниже шебанга:
import cgitb
cgitb.enable()
Подробнее: http://docs.python.org/library/cgitb.html
Кроме того, если у вас есть доступ оболочки к веб-серверу, попробуйте запустить python и просто наберите:
>>> import MySQLdb
Если команда возвращается без ошибок, у вас есть ответ для # 4 выше. Если выдается сообщение об ошибке, вам необходимо установить MySQLdb в установку Python веб-сервера.
РЕДАКТИРОВАТЬ: Если присмотреться к началу вашего вопроса, я вижу, что код был взят из иллюстративного примера в самом начале Книги Джанго. Таким образом, я мог бы расширить № 5 выше, чтобы включить предупреждение о том, что, конечно, необходимая база данных, таблицы, пользователь и разрешения должны быть настроены при установке MySQL, доступной для веб-сервера.