Oggi vediamo brevemente come creare una semplice WebApp utilizzando la libreria Flask di Python che risponda a richieste GET e POST.
Flask è un micro-framework web scritto in Python, basato sullo strumento Werkzeug WSGI e con il motore di template Jinja2. E’ un micro-framework in quanto non richiede particolari tool o librerie.
Python Flask WebApp
La nostra applicazione Web è molto semplice, l’obiettivo è darti un’idea chiara ed essenziale delle basi offerte da Flask per poter poi scrivere applicazioni complesse a piacimento.
In questo esempio, vogliamo creare un server che resti in ascolto sulla porta 8080 e che risponda alla risorsa /login a cui, sia tramite richieste GET che POST, invieremo un nome utente (user) e password (pass).
Cominciamo dall’importare la libreria Flask nella riga 1. Nella riga 3, definiamo la risorsa su cui il server dovrà rimanere in ascolto, ovvero /login. Definiamo anche che tipo di richieste dovrà gestire, in questo caso sia GET che POST.
Immediatamente sotto, troviamo la firma della funzione adibita a ricevere le richieste. Qui non è importante che il nome della funzione sia lo stesso di quello specificato nella riga 3, la cosa essenziale è che si trovi subito sotto il decoratore @app.route.
All’interno della funzione abbiamo accesso a diversi elementi, il più importante è il request che ci permette di capire con che tipo di richiesta abbiamo a che fare. Nella riga 5, ci sinceriamo che si tratti di una POST, in quel caso recuperiamo i parametri user e pass attraverso le istruzioni 6 e 7.
Viceversa, nel caso di una richiesta GET, le istruzioni per accedere ai parametri cambiano leggermente e sono visibili nelle righe 9 e 10.
Terminata la gestione, ci concentriamo ora sul restituire un codice necessario per il client che ha inviato la richiesta. Questo è possibile utilizzando l’oggetto Request e specificando il codice di ritorno.
Per finire, nella riga 16, è possibile lanciare il server specificando la porta dove dovrà restare in ascolto.
Una Breve Nota
Vale la pena fare un appunto: lanciando lo script così fatto, il server sarà raggiungibile soltanto dal dispositivo stesso su cui sta girando, nel mio caso all’indirizzo:
se però volessimo raggiungere la risorsa da un altro dispositivo connesso alla nostra stessa rete, è necessario modificare la riga 16 nel seguente modo:
così facendo, Flask ci permetterà di raggiungere il server sostituendo localhost con l’indirizzo IP del dispositivo su cui il server sta girando.
Conclusioni
In questo breve tutorial, abbiamo visto come sia semplice e veloce mettere in piedi un server che risponda a richieste HTTP.
Flask è senz’altro uno strumento molto versatile e pieno di risorse. Per approfondire ulteriormente il suo utilizzo, ti consiglio di dare un’occhiata alla documentazione ufficiale raggiungibile a questo indirizzo.
Scrivi un commento