Strona 1 z 1

[python] przekazywanie danych z formularza

: 27 sie 2009, 17:23
autor: dil_ligaf
yo

tak wygląda formularz

Kod: Zaznacz cały

  <form name="edit_form" enctype="multipart/form-data" action="form.py" method="POST" id="edit_form" >
tak wygląda interesujące mnie pole

Kod: Zaznacz cały

<input type="text" name="number" id="pole_form" value="300060001" size="28" maxlength="28" />
tak wygląda początek skryptu form.py:

Kod: Zaznacz cały

import cgi
form = cgi.FieldStorage()
IBA = form.getfirst("number", "").upper() 
i zmiennej IBA używam wstawiając jej wartość w plik xml
problem w tym, że żadna zmienna nie jest wstawiana
czy mam użyć czegoś innego niż import cgi? albo jak mam to poprawić

czy czegoś takiego?

Kod: Zaznacz cały

from mod_python import util
def index(req):
    formdata = util.FieldStorage(req)
    if formdata['number'] == '300060001':
        print 'number';
ale też nie działa bo:
File "/var/www/nowy/form2xml2.py", line 4, in index
if formdata['number'] == '300060001':

File "/usr/lib/python2.6/dist-packages/mod_python/util.py", line 411, in __getitem__
found = self.list.table()[key]

KeyError: 'number'

prosze o pomoc
jestem poczatkujący także wybaczcie
używam Apache/2.2.11 (Ubuntu) mod_python/3.3.1 Python/2.6.2 Server at localhost Port 80

Odp: [python] przekazywanie danych z formularza

: 27 sie 2009, 21:27
autor: Borsuk_
Witaj,

Nie miałem okazji i potrzeby operować skryptami CGI, ale porównując twój kod oraz kod zawarty w publikacji "Python Rozmówki" dostrzec można, że twoje pliki źródłowe posiadają złe rozszerzenie. Powinno być ".cgi". Jeżeli to nie rozwiąże problemu, to możesz przeanalizować źródła wcześniej wymienionej książki. Wydawnictwo helion umożliwia pobranie ich w gotowej postaci na stronie:
ftp://ftp.helion.pl/przyklady/pythro.zip

Pozdrawiam

Odp: [python] przekazywanie danych z formularza

: 27 sie 2009, 23:02
autor: dil_ligaf
działa jako .cgi
sama zmiana rozszerzenia nie wystarczyła w moim przypadku,
ale przynajmniej się nauczyłem trochę o cgi
dzięki
pzdr