Soll ich ne Raumverteilung erstellen.
Die statischen Webseiten hab ich schon erstellt nur weiß ich jetzt nicht, wie ich die Daten, die ich von den einzelnen Webseiten krieg wieder an die gleiche Webseite schick, um damit zum Beispiel eine Tabelle auf der Seite zu erstellen in der dann Name etc pp stehen.
Als Ausgangspunkt für die Implementierung des Webserver verwenden Sie „post_server.py“. Implementieren Sie die
einzelnen Verarbeitungsmethoden direkt in der do_GET bzw. do_POST – Methode. Übergeben Sie Formulardaten mit der
Methode POST (siehe Codebeispiel zu dieser Aufgabenstellung).
Und hier mal das Code Beispiel:
Code: Alles auswählen
# aus einem Beispiel im Buch "Python Phrasebook" abgeleitet
# Dokumentation zu diesen Klassen siehe Python-Manual !
# geben Sie zum Test im Browser ein:
# http://localhost:8080/post_form.htm
import os, sys
import BaseHTTPServer, cgi
import cPickle
servAddr = ('',8080)
#Define the HTTP handler that overrides do_POST
class httpServHandler( \
BaseHTTPServer.BaseHTTPRequestHandler):
def do_GET(self):
# hier eine naive Implementierung zur Auslieferung
# statischer Ressourcen
# nachfolgende Zeilen aktivieren, falls
# GET-Parameter ausgewertet werden sollen
#if self.path.find('?') != -1:
# self.path, self.query_string = \
# self.path.split('?', 1)
#else:
# self.query_string = ''
self.send_response(200)
self.send_header('Content-type','text/html')
self.end_headers()
self.wfile.write(file(self.path[1:]).read())
def do_POST(self):
#Get arguments from query string
self.query_string = self.rfile.read( \
int(self.headers['Content-Length']))
self.args = dict(cgi.parse_qsl(self.query_string))
self.send_response(200)
self.send_header('Content-type', \
'text/html')
self.end_headers()
#Redirect output to browser
sys.stdout = self.wfile
#Handle the post
self.wfile.write("<h2>Handling \
Post</h2>")
self.wfile.write("<ul><li>Location: \
<strong>%s</strong></li>"%(self.path))
self.wfile.write("<li>Arguments: \
<strong>%s</strong></li></ul><hr>"%(self.args))
#Moeglichkeit 1: Execute the script remotely
# execfile(self.path, self.args)
#Moeglichkeit 2: direkt verarbeiten
name = self.args['Name']
vorname = self.args['Vorname']
senden = self.args['senden']
mitarbeiter = vorname+" "+name
print "<select name ='mitarbeiter'>"
if senden and (name and vorname):
datei = open(r"mitarbeiter.txt","r")
zeile = datei.readlines()
datei.close()
if len(zeile) >= 1:
x = 0
for n in zeile:
print "<option>"+zeile[x]+"</option>"
x = x + 1
else:
print "<option>Kein Eintrag</option>"
print "</select>"
datei = open("mitarbeiter.txt","a")
datei.write(mitarbeiter+"\n")
datei.close()
#Set the root directory
os.chdir('htdocs')
#Create server object
serv = BaseHTTPServer.HTTPServer( \
servAddr, httpServHandler)
#Start Server
serv.serve_forever()