Kasulikke pythoni näitejuppe cgi jaoks
Scripti algusse sobib enamasti (cgitb.enable() ainult debugimise ajaks!):
#!/usr/bin/python import cgi,cgitb cgitb.enable() print "Content-type: text/html\n\n"
vormilt data võtmisel tasub kontrollida, kas data tuli, muidu annab Python errori:
formdata = cgi.FieldStorage()
if formdata.has_key("nimi"):
nimi=formdata['nimi'].value
if formdata.has_key("email"):
email=formdata['email'].value
if formdata.has_key("raha"):
raha=formdata['raha'].value
if formdata.has_key("now"):
now=float(formdata['now'].value)
See kood genereerib automaatselt refreshiva html lehe (now peaks olema arv: sekundid):
print """ <html> <head> <meta http-equiv="refresh" content='1;url=save.py?refreshing=1&now="""+str(now)+"""'> </head> <body> """
Niimoodi saad faili lõppu midagi juurde kirjutada (open(...,'a') ehk append mode):
if nimi and email and raha:
f = open('/tmp/tahvel', 'a')
data=nimi+","+email+","+raha+","+str(now)+"\n"
f.write(data)
f.close()
Niimoodi loed failist korraga kõik read massiivi (iga rida - string - üks massiivielement) ja samas kontrollid, et kui faili pole/lugemisviga, siis handlid
seda viga (siin lihtsalt data saab väärtuseks tühja array):
try:
f = open('/tmp/tahvel', 'r')
data=f.readlines()
f.close()
except:
data=[]
Html vormi välja autocomplete saad niimoodi maha keerata:
<input type="text" name="nimi" autocomplete="off">