Login | Search Thursday, 29 July 2010
Welcome Guest | Beranda | Artikel | Buku Tamu | About
  Beranda > Artikel > Tutorial > Lebih Lanjut Dengan CGI Python - 1
Lebih Lanjut Dengan CGI Python - 1
Dikirim oleh: Webmaster ( 2008-08-07, 17:41:59 )

Kemampuan Python sebagai bahasa pemrograman web tidak kalah dengan bahasa pemrograman web lainnya. Disini kita akan coba membuat program CGI dari Python untuk membuat sebuah form sekaligus mencoba membuat sebuah template untuk merancang halaman web.

Untuk menggunakan form dalam CGI Python kita akan menggunakan salah satu metode yang ada dalam module cgi, yaitu FieldStorage. Metode ini akan digunakan untuk menangkap nilai yang dikirim oleh form yang akan kita buat, dimana nilai yang di hasilkan dari metode ini adalah berupa dictionary.

Untuk memulai, mungkin lebih baik kita coba dulu dengan program yang sederhana untuk menampilkan template yang kita buat, pertama kita buat lebih dahulu template yang akan kita gunakan untuk menampilkan halaman web yang akan kita tampilkan.

template.html :

<html>
<head>
<title>Python is Fun!</title>
</head>
<body>
<!-- *** CONTENT *** -->
</body>
</html>

Coba perhatikan baris yang mencantumkan komentar <!-- *** CONTENT *** -->, program kita akan mencari komentar ini dengan menggunakan fasilitas pencarian Python yang ada dalam modul RE ( regular expression ) dan akan diganti dengan konten yang sudah kita olah dengan Python.

Selanjutnya kita buat program utama yang akan digunakan untuk mengolah data dan menampilkan halaman web yang kita buat.

test.py :

import re # untuk menggunakan modul regular expression

TemplateFile = "template.html"

# Fungsi yang akan digunakan untuk membuat tampilan
def Display(Content):
    TemplateHandle = open(TemplateFile, "r") # buka file dalam mode read only dan membaca file sebagai string
    TemplateInput = TemplateHandle.read()
    TemplateHandle.close()
    BadTemplateException = "There was a problem with the HTML template."

    SubResult = re.subn("<!-- *** CONTENT *** -->",Content,TemplateInput)
    if SubResult[1] == 0:
        raise BadTemplateException

    print "Content-Type: text/html\n\n"
    print SubResult[0]

def DisplayTest():
    ViewString="<h1>Ini Contoh Tampilan Template</h1>"
    Display(ViewString) #panggil fungsi Display()

DisplayTest() # start program dengan memanggil fungsi DisplayTest()


Variabel "BadTemplateException" di atas berisi pesan error yang akan ditampilkan bila string "<!-- *** CONTENT *** -->" tidak ditemukan dalam file template yang dibaca.

Pada baris yang menggunakan subn(), ini adalah salah satu metode dalam modul re yang berfungsi untuk mencari string "<!-- *** CONTENT *** -->" dan menggantinya dengan string hasil olahan program kita yang terdapat di variabel "TemplateInput".

Pada baris statement SubResult =re.subn() akan mengembalikan hasil dalam format type data tuple dan menghasilkan data dalam bentuk array dimana SubResult[0] berisi string hasil substitusi dan SubResult[1] berisi jumlah string yang disubstitusi, untuk mengetahui lebih lanjut mengenai type data dan modul RE di Python silahkan baca dokumentasi python Anda.
Silahkan coba program diatas dengan memanggil di address bar browser anda dengan mengetik http://localhost/test.py

Komentar : 0    Tulis Komentar

Artikel Terkait

Django Web Framework
Penerapan Pemrograman OOP Dengan Python
Membuat Modul Python
Lebih Lanjut Dengan CGI Python - 1
Pemrograman CGI dengan Python

Terpopuler Hari Ini
 
 
Ads

Space For Banner... contact 087878208545

 
   
    Bacalah-Web © 2007 - 2010 | About | RSS | Total Klik : 100450