Warum funktioniert das so nicht ???

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Gast

Sonntag 4. Dezember 2005, 23:45

Hi miteinander,
Aus einem Tutorial habe ich folgenden HTML Code für Werteübergabe per CGI:

Code: Alles auswählen

<form method="POST" action="http://localhost:8080/cgi-bin/cgi_sample.py"> 
<table cellpadding="3" cellspacing="1"> 
<tr><td><input type="text" name="User" size="20"></td></tr> 
<tr><td><input type="submit" value="Senden"></td></tr> 
</table> 
</form> 
Das Python Script dazu sieht so aus:

Code: Alles auswählen

#!C:/Programme/Python24

import cgi

formData = cgi.FieldStorage();
userName = formData['User'].value 

htmlTemplate = """Content-type: text/html 

<html>
<head>
<title>%(title)s</title></head>
<body>
%(body)s
</body>
</html>
"""

print htmlTemplate % { 'title': 'Hallo!', 'body': 'Ihr Name ist %s.' % cgi.escape(userName) }
Wenn ich das HTML Dokument starte passiert erst das:

Bild

und nach Eingabe meines Zope PWs das:

Bild

Das Python Script liegt auf meinem Zope hier:

Bild

Laut Tutorial http://www.linuxenterprise.de/itr/featu ... id,74.html
alles tutti und ganz einfach. Merk ich aber nichts von. Was mache ich falsch ?

Seven
snakeseven
User
Beiträge: 405
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Sonntag 4. Dezember 2005, 23:48

Hab ich gefragt. Euer Server hat mich während ich pinkeln war ausgeloggt. 8)
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Montag 5. Dezember 2005, 10:53

Anonymous hat geschrieben:Hi miteinander,
Aus einem Tutorial habe ich folgenden HTML Code für Werteübergabe per CGI
Hi Seven!

Leider mischt du zwei Techniken. CGI und Zope sind nicht auf diese Art kombinierbar.

Dein Beispiel (vereinfacht) in Zope würde so aussehen:

Page Template mit dem Namen "hallo_welt":

Code: Alles auswählen

<form method="POST" action="hallo_welt_action">
<table cellpadding="3" cellspacing="1">
<tr><td>Vorname: <input type="text" name="vorname" size="20"></td></tr>
<tr><td><input type="submit" value="Senden"></td></tr>
</table>
</form>
Script (Python) mit dem Namen "hallo_welt_action":

Code: Alles auswählen

return "Hallo %s." % context.REQUEST.vorname
mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
snakeseven
User
Beiträge: 405
Registriert: Freitag 7. Oktober 2005, 14:37
Wohnort: Berlin
Kontaktdaten:

Montag 5. Dezember 2005, 11:12

Gerold, du bekommst eines Tages das Python-Verdienstkreuz ! :D
Habe heute Nachtdienst und werde mir das Zope-Buch mal gründlich (!) reintun.
Gruss, Seven
Antworten