thomas
Единственное, что я поменял - убрал из окружения третий пайтон - у нас должен быть пайтон 2
#!/usr/bin/env python # coding: utf-8 import cgi print 'Content-Type: text/plane; charset=utf-8' print print 'Test cgi' print cgi print 'Test FieldStorage' print cgi.FieldStorage print 'Test form' form = cgi.FieldStorage() print form
- - [29/Sep/2014 09:29:55] "POST /cgi-bin/form.py HTTP/1.1" 200 -
Traceback (most recent call last):
File "/usr/lib64/python2.6/CGIHTTPServer.py", line 248, in run_cgi
os.execve(scriptfile, args, os.environ)
OSError: [Errno 8] Exec format error
- - [29/Sep/2014 09:29:55] CGI script exit status 0x7f00
thomasКак-то неправильно переписал. Сначала запусти в консоли его.
ответил вот это
[guest@localhost py]$ ./form.py
Content-Type: text/plane; charset=utf-8
Test cgi
<module 'cgi' from '/usr/lib/python2.7/cgi.pyc'>
Test FieldStorage
cgi.FieldStorage
Test form
FieldStorage(None, None, [])
[guest@localhost py]$
Test cgi
<module 'cgi' from '/usr/lib64/python2.6/cgi.pyc'>
Test FieldStorage
cgi.FieldStorage
Test form
FieldStorage(None, None, [MiniFieldStorage('name', 'Admin'), MiniFieldStorage('email', 'trololo'), MiniFieldStorage('body', 'sesdf')])
print dict(form) for var in 'name', 'email', 'body': print var, '->', form[var].value, '<br>'
Test cgi
<module 'cgi' from '/usr/lib64/python2.6/cgi.pyc'>
Test FieldStorage
cgi.FieldStorage
Test form
FieldStorage(None, None, [MiniFieldStorage('name', 'user1'), MiniFieldStorage('email', 'email2'), MiniFieldStorage('body', 'about3')])
{'body': MiniFieldStorage('body', 'about3'), 'name': MiniFieldStorage('name', 'user1'), 'email': MiniFieldStorage('email', 'email2')}
name -> user1 <br>
email -> email2 <br>
body -> about3 <br>
thomas
При выполнении твоей формы открылось пустой окно, данные не отобразились.
#!/usr/bin/env python # coding: utf-8 import cgi print 'Content-Type: text/html; charset=utf-8' print form = cgi.FieldStorage() for var in 'name', 'email', 'body': print var, '->', form[var].value, '<br>'