Уведомления

Группа в Telegram: @pythonsu

#1 Июль 4, 2013 17:02:10

kozlo22
От: Беларусь, Минск
Зарегистрирован: 2012-11-01
Сообщения: 115
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

В учебнике Пограммируем на 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 (Июль 6, 2013 19:20:33)

Прикреплённый файлы:
attachment aN9_FiaGO5A.jpg (51,2 KБ)

Офлайн

#2 Июль 4, 2013 21:07:34

kozlo22
От: Беларусь, Минск
Зарегистрирован: 2012-11-01
Сообщения: 115
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

Вопрос с сервером решен. Просто переписал по новой и все заработало, но браузер тем не менее не находит скрипт.
http://itmages.ru/image/view/1106668/0562a8bd

Отредактировано kozlo22 (Июль 4, 2013 21:10:00)

Офлайн

#3 Июль 5, 2013 01:59:56

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9749
Репутация: +  843  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

kozlo22
но браузер тем не менее не находит скрипт
его ищет сервер в своих директориях, где корнем / считается /var/www (для определения корня смотри настройки сервера или просто открой директории и посмотри)

положи скрипт в каталог cgi-bin, установи право выполнения на скрипт, в странице укажи путь относительно корня сервера
http://localhost/cgi-bin/f.cgi



Офлайн

#4 Июль 5, 2013 21:27:01

kozlo22
От: Беларусь, Минск
Зарегистрирован: 2012-11-01
Сообщения: 115
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

py.user.next
Такого каталога как /var/www я не неашел у себя.

py.user.next
положи скрипт в каталог cgi-bin, установи право выполнения на скрипт
Уже сделано.
py.user.next
в странице укажи путь относительно корня сервера

http://localhost/cgi-bin/f.cgi
А вот этого я не понял.

Офлайн

#5 Июль 5, 2013 22:13:06

kozlo22
От: Беларусь, Минск
Зарегистрирован: 2012-11-01
Сообщения: 115
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

Нашел опечатку в файле cgi101.html из-за чего, собственно, его и не удавалось обнаружить.

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

Офлайн

#6 Июль 6, 2013 01:53:12

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9749
Репутация: +  843  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

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

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

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



Отредактировано py.user.next (Июль 6, 2013 01:53:42)

Офлайн

#7 Июль 6, 2013 01:59:28

kozlo22
От: Беларусь, Минск
Зарегистрирован: 2012-11-01
Сообщения: 115
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

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

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

Не правильно выразился. Суть я понял. Мне не понятно где находится корень сервера.

Офлайн

#8 Июль 6, 2013 08:39:55

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9749
Репутация: +  843  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

убедись, что у тебя установлен web-сервер (пакет apache2)
запусти сервер, открой в браузере http://localhost

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

результаты сюда напишешь



Офлайн

#9 Июль 6, 2013 11:46:46

kozlo22
От: Беларусь, Минск
Зарегистрирован: 2012-11-01
Сообщения: 115
Репутация: +  0  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

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

Офлайн

#10 Июль 6, 2013 17:52:52

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9749
Репутация: +  843  -
Профиль   Отправить e-mail  

Не работает cgi-сценарий

kozlo22
Установил apache2 (только я не прнимаю для чего дан код веб-сервера в книге?)
какой код веб-сервера ?

это и не нужно, продолжай устанавливать apache
kozlo22
В конфиге нет пути к скрипту.
прикрепи его к сообщению



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version