Найти - Пользователи
Полная версия: Не работает cgi-сценарий
Начало » Python для новичков » Не работает cgi-сценарий
1 2 3
kozlo22
В учебнике Пограммируем на Python том 1 дошел до примера с созданием веб-интерфейса к малюсенькой базе данных.
Итак, есть код страницы, в которую пользователь вводит свои данные - http://pastebin.com/meuk8Qnv
А вот код cgi-модуля, который обрабатывает страницу и отправляет ответ пользвоателю - http://pastebin.com/JUFsMsg2
Проблема заключается в следующем: когда я открываю веб-страницу, ввожу данные, кликаю “отправить” появляется ошибка. Почему модуль не виден? - http://itmages.ru/image/view/1106340/c7a72f83
И еще вопрос: вот есть веб-сервер(тоже пример из книги) pastebin.com/qKrdvAun. При запуске в терминале выдает ошибку “File name is too long”. - http://itmages.ru/image/view/1106339/5dcb18d9
p.s.
совсем забыл уточнить, что все операции проделываются под ubuntu 12.04, версия интерпретатора 3.2.3
p.p.s
пути прописаны верно

kozlo22
Вопрос с сервером решен. Просто переписал по новой и все заработало, но браузер тем не менее не находит скрипт.
http://itmages.ru/image/view/1106668/0562a8bd
py.user.next
kozlo22
но браузер тем не менее не находит скрипт
его ищет сервер в своих директориях, где корнем / считается /var/www (для определения корня смотри настройки сервера или просто открой директории и посмотри)

положи скрипт в каталог cgi-bin, установи право выполнения на скрипт, в странице укажи путь относительно корня сервера
http://localhost/cgi-bin/f.cgi
kozlo22
py.user.next
Такого каталога как /var/www я не неашел у себя.
py.user.next
положи скрипт в каталог cgi-bin, установи право выполнения на скрипт
Уже сделано.
py.user.next
в странице укажи путь относительно корня сервера

http://localhost/cgi-bin/f.cgi
А вот этого я не понял.
kozlo22
Нашел опечатку в файле cgi101.html из-за чего, собственно, его и не удавалось обнаружить.

Но тут другая проблема, после того как я ввожу данные и кликаю “отправить данные” - появляется окно с выбором программы для запуска cgi101.py
py.user.next
kozlo22
Но тут другая проблема, после того как я ввожу данные и кликаю “отправить данные” - появляется окно с выбором программы для запуска cgi101.py
выше написано, куда его надо положить и как запускать
скрипт выполняется сервером, а не браузером
браузер просто посылает запрос серверу

kozlo22
Такого каталога как /var/www я не неашел у себя.
посмотри в настройках сервера или поищи на диске под /var

kozlo22
А вот этого я не понял.
скрипт не будет запускаться браузером, потому что форма служит только для формирования запроса
kozlo22
py.user.next
посмотри в настройках сервера или поищи на диске под /var
понимаете, я даже не представляю как выглядит файл настроек сервера.
py.user.next
kozlo22
А вот этого я не понял.

скрипт не будет запускаться браузером, потому что форма служит только для формирования запроса

Не правильно выразился. Суть я понял. Мне не понятно где находится корень сервера.
py.user.next
убедись, что у тебя установлен web-сервер (пакет apache2)
запусти сервер, открой в браузере http://localhost

в директории /etc/apache2 лежат файлы, в них настройки (основной - apache2.conf)
найди в нём путь, в котором есть cgi-bin

результаты сюда напишешь
kozlo22
py.user.next
убедись, что у тебя установлен web-сервер (пакет apache2)
запусти сервер, открой в браузере http://localhost
Установил apache2 (только я не прнимаю для чего дан код веб-сервера в книге?)
py.user.next
в директории /etc/apache2 лежат файлы, в них настройки (основной - apache2.conf)
найди в нём путь, в котором есть cgi-bin
В конфиге нет пути к скрипту.
py.user.next
kozlo22
Установил apache2 (только я не прнимаю для чего дан код веб-сервера в книге?)
какой код веб-сервера ?

это и не нужно, продолжай устанавливать apache
kozlo22
В конфиге нет пути к скрипту.
прикрепи его к сообщению
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB