BETA, la rivista ipertestuale tecnica
BETA La rivista ipertestuale tecnicaBarra BETA
Sommario Abbonamenti a BETA Redazione Liste/Forum Informazioni Indici BETA La rivista ipertestuale tecnica Collegamento al sito Web
BETA - Tecnologie Web

BETA 2399.6 - Tecnologie Web - La Programmazione CGI in Python - Parte 1 | Parte 2 | Parte 3 | Parte 4 | Parte 5

La Programmazione CGI in Python

Parte V

Marco Buzzo
Collaboratore, BETA

Vediamo adesso il listato del programma CGI echoform.cgi, che deve analizzare i dati:

#! /usr/bin/python

import cgi

 

def print_header() :

#stampa l'intestazione

print "Content-type: text/html"

print

print "<HTML>"

print "<Head><Title>Restituzione Parametri</Title></Head>"

print "<Body><H1>Restituzione Parametri</H1><hr>"

 

def display_query( form ) :

#mostra i dati

fields = form.keys()

print "<P><H2>Sono stati ricevuti i seguenti parametri:</H2>"

print "<UL>"

if len( fields ) == 0 :

print "<LI>Nothing"

else :

for f in fields :

print "<LI>", f, " : ", cgi.escape( form[ f ] )

print "</UL>"

def print_footer() :

#stampa il termine della pagina

print "</Body></HTML>"

 

def Main() :

#funzione principale

form = cgi.SvFormContentDict()

print_header()

display_query( form )

print_footer()

 

Main()

 

Inizialmente importiamo il modulo builtin CGI, nel quale sono definite funzioni come cgi.escape. A questo punto viene definita la funzione print_header(); si occupa di stampare l’intestazione (come evidenzia la docstring) e non è molto diversa dal precedente Hello, World!

La seconda funzione stampa i dati che sono stati inseriti; l’istruzione if controlla se effettivamente sono stati inseriti dati; in questo caso, il ciclo for si occupa di stampare solo le voci relative ai dati inseriti dall’utente. La funzione escape ha come effetto quello convertire caratteri come &, <, > in stringhe che possono essere interpretate senza equivoci dal browser.

La terza funzione ha come scopo quella di concludere il documento, fornendo le istruzioni terminali alla pagina HTML.

In conclusione viene definita la funzione principale main(), dove il contenuto del form è assegnato alla classe SvFormContentDict(), che lo trasforma in un dizionario. Vengono poi richiamate le funzioni definite precedentemente.

Conclusioni

Spero che questo documento abbia stimolato il vostro interesse nei confronti di Python, e vi invito a dare uno sguardo presso la sua homepage italiana o il sito ufficiale in inglese, i cui indirizzi sono indicati in fondo all'articolo. Buona lettura!

Collegamento d'articolo

Parte 1 | Parte 2 | Parte 3 | Parte 4 | Parte 5
Precedente: Parte 4


Articoli correlati

CGI Corner e ss. serie curata da Michele Beltrame
Altri Articoli della stessa Rubrica...

Siti Web

http://www.python.org/
http://web.tiscalinet.it/python
Elenco di siti consigliati da BETA...


Marco Buzzo è Collaboratore di BETA dal 2000; è raggiungibile su Internet tramite la redazione oppure all'indirizzo kranio@freenet.hut.fi.

Ultima revisione:

Copyright © 1995-1999 BETA, tutti i diritti sono riservati. E' vietata la riproduzione senza autorizzazione dell'editore o dell'autore dentro i termini e le condizioni della Licenza Pubblica BETA (LPB)

BETA La rivista ipertestuale tecnica (http://www.beta.it/beta)email info@beta.it
BETA: Frontespizio | Abbonamenti | Redazione | Liste/Forum | Indici | Guida | Copyright