[python] Utilizzare Python su Apache (configurazione con XAMPP)

Anzitutto assicuriamoci di avere Python installato sul nostro computer. Nel mio esempio procederò con l’installazione su Windows, ma anche nel caso di un server Linux la procedura è pressoché la medesima.

1. Individuiamo la cartella di installazione di Python

Nel mio caso l’eseguibile di Python si trova in D:/Python27/python.exe

Appuntiamoci questo valore perché ci servirà per dopo.

2. Configuriamo Apache modificando il file httpd.conf

Utilizzando XAMPP è sufficiente aprire il pannello di controllo e recarsi su Apache > Config > Apache (httpd.conf)

3. Aggiungiamo il handler per gli script cgi

In fondo al file di configurazione aggiungiamo le seguenti due righe per attivare la gestione degli script cgi

In questo modo permettiamo ad apache di interpretare i file con estensione .py come script eseguibili mediante applicazioni interne al computer.

4. Aggiungiamo index.py alle pagine di default

Esattamente per quello che succede per index.htm oppure index.php, vogliamo che anche index.py venga letta come pagina predefinita di una cartella. (potremmo metterne anche altre a piacere)

Per farlo modifichiamo sempre il file httpd.conf che abbiamo aperto prima. Identifichiamo il punto dove c’è scritto <IfModule dir_module> e modifichiamo la configurazione nel modo seguente, aggiungendo index.py all’elenco

5. Riavviamo apache

Che lo si stia facendo su XAMPP, oppure su un server LAMP, a questo punto riavviamo Apache, banalmente premendo Stop e Start in sequenza.

6. Creiamo la prima pagina in Python

Dentro la cartella htdocs creiamo una cartella a piacere, che allo scopo di questo esempio io chiamerò python.

Dentro la cartella creiamo un file chiamato index.py con dentro le seguenti istruzioni:

Ricordiamoci l’indirizzo preso all’inizio al punto 1. Il percorso di installazione di Python andrà incluso in ciascun file. Inoltre è essenziale il primo print, che permette al browser di interpretare il contenuto come una pagina html.

Le prime 2 righe dovranno essere presenti in ogni pagina che si occuperà dell’output.

7. Esempio di una pagina semplice

Ovviamente dovremo aggiungere tutti gli opportuni tag del HTML, cosa che potremmo fare in questo modo:

8. Raccogliere i dati da POST e GET

Infine vediamo come raccogliere i dati dai due metodi principali con i quali l’utente può interagire con la nostra pagina web, il get e il post.

Per farlo importiamo anzitutto la libreria CGI aggiungendo in cima al file, dopo il percorso all’eseguibile di Python, import cgi

Avremo bisogno anche di gestire eventuali errori che se no non verranno mostrati nell’output. Per farlo importiamo anche cgitb aggiungendo le seguenti due righe:

L’intestazione del nostra file diventerà:

A questo punto per raccogliere i dati, sia da POST che da GET utilizziamo l’istruzione dati = cgi.FieldStorage()

Modifichiamo tutta la pagina per funzionare con un piccolo form che utilizzi entrambi i metodi:

Faccio notare che se si cerca di chiamare la pagina http://127.0.0.1/python/?dati_form=1 si incorrerà in un errore come il seguente (senza la suddetta libreria avremmo visualizzato una pagina bianca):

Questo perché la chiave valore non è definita all’interno del contenitore dati.

Aggiungiamo quindi un controllo nel modo seguente:

 

Rispondi

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.