4. Creazione del primo sito dinamico: Hello, you !

Editate il file Hello.cpy ache avete creato nel precedente capitolo, e fate le seguenti modifiche:

CherryClass Root:
mask:
    def index(self, name="you"):
        <html><body>
            Hello, <b py-eval="name"></b> !
            <form py-attr="request.base" action="" method="get">
                Enter your name: <input name=name type=text><br>
                <input type=submit value=OK>
            </form>
        </body></html>

Ricompilate il file e fate ripartire il server. Fate un refresh della pagina nel vostro browser. Dovreste vedere

Hello, you

seguito da un campo dove potete inserire del testo. Inserite il vostro nome e premete il bottone OK. Ora la riga dovrebbe cambiare in

Hello, "il vostro nome"

Come è possibile ?

Questa volta il metodo index ha un parametro chiamato name. Proprio come per ogni metodo Python, questo parametro può avere un valore di default (in questo caso you). La prima volta che il browser visualizza la pagina, non viene passato nessun parametro name , così name avrà il proprio valore di default nella funzione.

Quando riempite il campo con del testo e premete OK, il browse invierà una richiesta alla stessa pagina, ma questa volta name sarà passato come un parametro contenente il nome da voi immesso.

Dato che abbiamo usato method="get" nella form, il parametro name verrà passato usando l'URL (potete facilmente controllarlo dato che l'URL del vostro browser avrà il seguente aspetto: http://localhost:8000/?name=yourName).

Editate ora Hello.cpy e cambiate method="get" in method="post". Ricompilate il file, fate ripartire il server, e rifate il test: funzionerà esattamente come prima, eccetto per il fatto che name=yourName non apparirà nell'URL. Il motivo risiede nel fatto che abbiamo usato un metodo POST al posto di GET nella form.

Cosa abbiamo imparato:

E' il momento di fare qualcosa di interessante con questo linguaggio di template...

See About this document... for information on suggesting changes.