Öncelikle python destekleyen bir yer bulmalısınız veya kendi bilgisayarınızda deneyebilirsiniz.
# -*- coding: utf-8 -*-
print """\
Content-Type: text/html\n
<html>
<body> bu bir deneme sayfasıdır... </body>
</html>
"""
cgi-python da html kodları print ile yazılır.
Content-Type: text/html\n satırı ile içeriğin türünü belirttik buradaki "\n" karakteri koyduk çünkü bu satırdan sonra 2 tane "\n" olmalı.
şimdi örneğimizi geliştirelim...
# -*- coding: utf-8 -*-
import cgi
form = cgi.FieldStorage()
isim = form.getfirst("isim", "bos")
print """\
Content-Type: text/html\n
<html>
<body>
<b>Gelen isim: </b> %s
</body>
</html>
""" % str(isim)
burada cgi modülündeki FieldStorage sınıfının getfirst metodu ile "isim" adındaki argumanı aldık bu arguman index.py?isim=deneme şeklinde gelir buradaki "deneme" argumandır.
getfirst e verilen 2. arguman ise hiçbir değer gelmezse isim değişkenine atanır yani değer verilmezse değişkenin değeri "bos" olur.
örneğimizi daha da geliştirecek olursak...
# -*- coding: utf-8 -*-
import cgi
form = cgi.FieldStorage()
isim = form.getfirst("isim", "bos")
print """\
Content-Type: text/html\n
<html>
<body>
"""
if isim != "bos":
print """\n
<b> Gelen isim: </b> %s
""" % isim
else:
print """\
<form action="deneme.py">
isminiz: <input type=text name="isim">
</form>
"""
Hata yakalma:
# -*- coding: utf-8 -*-
import cgi
import cgitb
cgitb.enable()
try:
open("olmayan_doysa", "r")
except:
cgitb.handler()
Hata yakalamak istediğmizde cgitb modülünü cgitb.enable() ile aktif ediyoruz daha sonra ise hata yakalandığında cgitb.handler() i çalıştırıyoruz.