Форум сайта python.su
0
Доброго времени суток!
Вопрос заключается в следующем:
Читаю Марк Лутц - Программирование на Python, 4-е издание, I том и пробую оттуда пример с работой html страницы, а именно запуска файла по нажатии submit:
<html> <title>Something</title> <body> <form method=POST action="m1.py"> <P><B>Enter ur name:</B> <P><input type=text name=user> <P><input type=submit> </form> </body></html>
import cgi form=cgi.FieldStorage() print 'Content-type: text/html\n' print '<title>Reply Page</title>' if not 'user' in form: print '<h1>Who r u?</h1>' else: print '<h1>Hello <i>{0}</i>! </h1>'.format(cgi.escape(form['user'].value))
import os, sys from BaseHTTPServer import HTTPServer from CGIHTTPServer import CGIHTTPRequestHandler webdir = 'C:\\Python27\\cgi' # место, где находятся файлы html и подкаталог cgi-bin port = 8080 # по умолчанию http://localhost/, иначе используйте # http://localhost:xxxx/ os.chdir(webdir) # перейти в корневой каталог HTML srvraddr = ("", port) # имя хоста и номер порта srvrobj = HTTPServer(srvraddr, CGIHTTPRequestHandler) srvrobj.serve_forever() # запустить как бесконечный фоновый процесс
Отредактировано Nucky (Июнь 13, 2013 12:12:24)
Офлайн
88
<form method="POST" action="m1.py">
Офлайн
0
ShamanК сожалению нет,в книге без кавычек, кстати.
<form method=“POST” action=“m1.py”>
А так?
Отредактировано Nucky (Июнь 13, 2013 12:20:57)
Офлайн
88
NuckyКстати оно не работает в вашем случае. Попробуйте так же сменить регистр, браузер, ещё что-нибудь.
в книге без кавычек, кстати
Офлайн
72
У вас проблема с путями. CGIHTTPRequestHandler выполняет скрипты для метода POST только по путям ‘/cgi-bin’ и ‘/htbin’. Для
<form method="post" action="m1.py">
<form method="post" action="/cgi-bin/m1.py">
Офлайн
0
PooH
У вас проблема с путями. CGIHTTPRequestHandler выполняет скрипты для метода POST только по путям ‘/cgi-bin’ и ‘/htbin’.
Офлайн