cgi.FieldStorage immer leer - nie wieder Gepostet Formulardaten

Dieses problem ist wohl peinlich einfach.

Ich versuche zu geben, python spin. Ich dachte, ein guter Weg, zu tun beginnen, dass wäre ein einfaches cgi-Skript zur Verarbeitung in irgendeiner form Daten und etwas Magie. Mein python-Skript ausgeführt wird, ordnungsgemäß von apache mit mod_python, und drucken was ich will es ausdrucken.

Mein problem ist nur, dass cgi.FieldStorage() ist immer leer. Ich habe versucht, mit sowohl POST und GET. Jede Studie, die ich füllen Sie die Formularfelder aus.

<form action="pythonScript.py" method="POST" name="ARGH">
<input name="TaskName" type="text" />
<input name="TaskNumber" type="text" />
<input type="submit" />
</form>

Wenn ich das Formular ändern, zu einem Punkt perl-Skript meldet es die Daten des Formulars richtig. Die python-Seite gibt mir immer das gleiche Ergebnis: Anzahl der Tasten: 0

#!/usr/bin/python

    import cgi

    def index(req):

            pageContent = """<html><head><title>A page from"""
            pageContent += """Python</title></head><body>"""
            form = cgi.FieldStorage()
            keys = form.keys()
            keys.sort()
            pageContent += "<br />number of keys: "+str(len(keys))
            for key in keys:
                    pageContent += fieldStorage[ key ].value
            pageContent += """</body></html>"""
            return pageContent

Ich bin mit Python 2.5.2 und Apache/2.2.3. Das ist es, was in meiner apache-conf-Datei (und mein Skript ist in /var/www/python):

   <Directory /var/www/python/>
      Options FollowSymLinks +ExecCGI
      Order allow,deny
      allow from all
      AddHandler mod_python .py
      PythonHandler mod_python.publisher
    </Directory>
  • Wie kann man Einsenden? Ihr Formular ohne submit-button 🙂
  • Ha - guter Punkt! Ich versehentlich entfernt, die Sie übernehmen, wenn die Vereinfachung der form für diese Frage. Danke.
InformationsquelleAutor Dan Carlson | 2010-05-06
Schreibe einen Kommentar