| Python in einfachen Beispielen : Dynamische Webseiten - Formular (CGI) |
| Geschrieben von: Joerg | |||||||||||||||
| Mittwoch, den 13. April 2011 um 19:03 Uhr | |||||||||||||||
|
Dynamische Webseiten sind Seiten, bei denen in der Regel eine Interaktion mit dem Nutzer stattfindet. Clientseitig kann dies bedeuten, dass ein Java-Skript mit dem Anwender interagiert, beispielsweise könnte ein Währungsumrechner bereitgestellt werden. Serverseitig könnte dies ein Python-Skript sein, welches beim Aufruf zum gleichen Ergebnis führen kann, wie das Java-Skript. Nur findet hier die Verarbeitung auf der Serverseite statt, d.h. der Anwender sieht jeweils nur das Ergebnis dieser Aktion in dem Browser. Der Seitenquelltext zeigt uns in diesem Fall nur ein html-Dokument, ohne Hinweise auf die Art der Verarbeitung. In einem einfachen Beispiel soll gezeigt werden, wie die Daten eines html-Formulars durch ein Python-Skript ausgewertet und wieder ausgegeben werden können. Die folgende html-Datei formular.html kann in das htdocs-Verzeichnis eines Apache-Servers gepackt werden. Das Auswertungsskript cgi-formular-auswertung.py liegt im cgi-bin-Verzeichnis des Servers (s.a. xampp). Falls wir die Apache-Konfigurationsdatei nicht ändern wollen, muss das Auswertungsskript die Endung .cgi haben.
Wer sich noch nicht mit HTML beschäftigt hat, der findet schnell im Internet geeignete Tutorials. Bekannt ist beispielsweise selfhtml. Für uns entscheidend ist das Formular zwischen den "form"-Tags. Das Attribut action weist auf die Ziel-Datei hin. Der Attribut-Wert _blank von target, weist den Browser an, die vom Server angeforderte Datei in einem neuen Fenster zu öffnen. Als Übertragungsmethode wurde post gewählt. Die Eingabefelder sind selbsterklärend. submit ist der Übertragungsbutton. Es gibt eine Reihe weiterer Formular-Elemente. Der Name des jeweiligen Elementes ermöglicht uns, serverseitig auf die richtige Eingabe zuzugreifen. Das Ergebnis:
Erläuterung:Aus dem Modul cgi verwenden wir Klasse FieldStorage. Wir erzeugen eine Instanz dieser Klasse. Hier beispielsweise heißt diese form. Wir können natürlich auch andere Namen wählen. Über geeignete Attribute oder Methoden können wir nun auf die übertragenen Daten zugreifen. In unserem Falle geben wir sie nur wiederum in einem html-Dokument aus.
Das Ergebnis:
Der Quelltext des html-Dokumentes:
Tags:
|
|||||||||||||||

