Форум сайта python.su
Привет всем. У меня возникла небольшая проблема, может кто-то уже с таким сталкивался и сможет помочь советом? Имеется CGI скрипт написанный в питоне:
import cgi
import Cookie
form = cgi.FieldStorage()
a = form.value
c = Cookie.SmartCookie()
c = a
print “Content-type: text/html”
print c
print
print a
print ‘<form name=“f2” action=“2.py”>’
print ‘<input type=“text” name=“s2” size=“15” />’
print ‘<input type=“Submit” value=“Go!” />’
print ‘</form>’
Проблема заключается в следующем: после того как из браузера передались параметры в cgi, в браузере показывается код скрипта cgi в том виде в каком он написан выше :(
я не понимаю почему…. Помогите, пожалуйста…
Офлайн
Проблема в настройках веб-сервера.
P.S.
'Имеется CGI скрипт написанный в питоне'.replace('в', 'на')
Офлайн
ну это понятно что настройках.. а что конкретно? я просто вообще не
могу понять….
Офлайн
Для начала неплохо бы указать название веб сервера и показать его конифиг.
Офлайн
Тестирование web-приложения провожу с помощью модуля
CGIHTTPServer из стандартной поставки Python. то есть сначала запускаю
файл CGIHTTPServer.py
У меня действительно ошибка в том что я наверное не так запускаю.. что ли….
ПО идеи надо было просто запустить CGIHTTPServer.py затем открыть браузрер… и там набрать… http://localhost/cgi/index.htm….. в папке как раз и находиться файл который приведен выше… но так вообще ничего не работает….
Офлайн
Переименуй cgi в cgi-bin или htbin.
Офлайн
slivlen, спасибо за ответы. Я переименовывала но не помогло…
можно поставить вопрос вот так:
есть папка допустим 1 в ней находится файл “CGIHTTPServer.py” и папка “cgi_bin”, а в папочке “cgi-bin” - файл “index.html” и два файла 1.py и 2.py
Содержимое файла 1.py:
import cgi
import Cookie
form = cgi.FieldStorage()
a = form.value
c = Cookie.SmartCookie()
c = a
print “Content-Type: text/html”
print c.output()
print
print ‘<html>’
print ‘<body>’
print ‘<pre>’
print a
print ‘</pre>’
print ‘<form name=“f2” action=“2.py”>’
print ‘<input type=“text” name=“s2” size=“15” />’
print ‘<input type=“Submit” value=“Go!” />’
print ‘</form>’
print ‘</body>’
print ‘</html>’
Содержимое файла 2.py:
def lab7(sp):
dic = {}
n = 0
for j in range( len(sp) ):
x = sp
for i in range( len(sp) ):
if sp == x:
n += 1
dic[ sp ] = n
n = 0;
return dic
import os, Cookie
c = Cookie.SmartCookie()
c.load(os.environ)
print “Content-type: text/html”
print c.value
print
import cgi
form = cgi.FieldStorage()
st2 = form.value
st1 = c.value
st = st1+st2
print ‘<center><b>’
print lab7(st)
print ‘</center></b>’
в свою очередь index.html это обычный статический HTML документ
запускаю CGIHTTPServer.py, потом браузер, в строке набиваею http://localhost/cgi-bin/index.htm и ииии
ничего.. вот что не так? Не судите строго с Python знакома совсем чуть чуть…. а это лабораторная работа…. и надо срочно сделать…
Офлайн
Все файлы в /cgi-bin считаются скриптами, а index.html - это у тебя статика. Поэтому index.html надо положить в корневой директории, а скрипты в cgi-bin.
Офлайн
все равно ничего не выходит.. в браузере пишется невозможно отобразить страницу
Офлайн
После вывода кукисов добавь еще один print.
print "Content-Type: text/html" print c.output() print #### print
Офлайн