Python: CGI-Programmierung
Mit dem Modulcgi steht standardmäßig ein relativ komfortables Interface zur  CGI-Programmierung zur Verfügung. Es unterstützt den Programmierer insbesondere bei der Auswertung der Felder von Eingabemasken. Das Folgende Skript erzeugt eine Maske, bzw. gibt deren Inhalt aus:			import cgi
import cgitb; cgitb.enable()
       
form = cgi.FieldStorage()
       
if form.has_key('submit') and form.has_key('name') and 
   form.has_key('age'):
    print 'Content-Type: text/htmlnn'
    print '''
<html><head><title>Eingegebene Werte</title></head>
<body>
 Sie heissen %(name)s und sind %(age)s Jahre alt.
</body></html>''' % {'name' : form['name'].value,
                     'age' : form['age'].value}
else:
    print 'Content-Type: text/htmlnn'
    print '''
<html><head><title>Test-Maske</title></head>
<body>
 <h3>Bitte Name und Alter eingeben:</h3>
 <form method="post" action="example1.cgi">
 <table border=0>
 <tr><td>Name:</td><td><input type="text" name="name"/></td></tr>
 <tr><td>Alter:</td><td><input type="text" name="age"/></td></tr>
</table>
<input type="submit" name="submit" value="OK"/>
</form>
</body></html>'''
cgi und cgitb, wobei cgitb zum Debuggen wichtig ist: es zeigt bei einem eventuell auftretenden Fehler einen Traceback an. Daraufhin wird getestet, ob die Maske vollständig ausgefüllt wurde; wenn ja, wird deren Inhalt angezeigt, sonst die Maske selbst erzeugt.
      Datenbankanbindung
In einem "richtigen" CGI-Programm wird der Inhalt der Maske wohl in eine Datenbank geschrieben werden; hier bietet Python mit dem DB API eine Standardschnittstelle, die für viele verschiedene Datenbanken implementiert ist. Hier ein kleines Beispiel für SQLite, dass das "Look & Feel" des DB API zeigen soll:import sqlite
       
conn = sqlite.connect("/path/to/my.db")
cursor = conn.cursor()
cursor.execute("select * from employees where wage > 5000")
while 1:
    employee = cursor.fetchone()
    if employee is None:
        break
    print employee
					Du arbeitest in einer Agentur oder als Freelancer?
					Dann wirf doch mal einen Blick auf unsere Software FeatValue.
				
Weiterlesen: ⯈ Web-Frameworks
Über uns
						Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project