Introduzione

Flask è un micro framework Web gratuito e open source per Python progettato per aiutare gli sviluppatori a creare applicazioni Web sicure, scalabili e gestibili. Flask si basa su Werkzeug e utilizza Jinja2 come motore modello.

A differenza di Django, Flask per impostazione predefinita non include ORM, la convalida dei moduli o altre funzionalità fornite da librerie di terze parti. Flask è stato progettato pensando alle estensioni, che sono pacchetti Python che aggiungono funzionalità a un'applicazione Flask.

Esistono diversi metodi per installare Flask, a seconda delle esigenze. Può essere installato a livello di sistema o in un ambiente virtuale Python usando pip.

I pacchetti Flask sono anche inclusi nei repository ufficiali di Ubuntu e possono essere installati utilizzando il gestore pacchetti apt. Questo è il metodo più semplice per installare Flask su Ubuntu 18.04, ma non così flessibile come l'installazione in un ambiente virtuale. Inoltre, la versione inclusa nei repository è sempre in ritardo rispetto all'ultima versione di Flask.

Lo scopo principale degli ambienti virtuali Python è quello di creare un ambiente isolato per diversi progetti Python. In questo modo è possibile avere più ambienti Flask diversi su un singolo computer e installare una versione specifica di un modulo in base al progetto senza preoccuparsi che ciò influirà sulle altre installazioni di Flask. Se installi Flask nell'ambiente globale, puoi installare solo una versione di Flask sul tuo computer.

Se desideri installare Flask su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:

ssh [email protected]_DEL_SERVER

Successivamente sarà necessario inserire la password dell'utente root.

Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:

ssh [email protected]_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password del vostro utente.

La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:

ssh [email protected]_DEL_SERVER -p PORTA

Installare Flask su Ubuntu 18.04

Le seguenti sezioni forniscono informazioni su come installare Flask in un ambiente virtuale Python su Ubuntu 18.04.

Installare di Python 3 e venv

Ubuntu 18.04 viene fornito con Python 3.6 per impostazione predefinita. Puoi verificare che Python 3 sia installato sul tuo sistema digitando:

python3 -V

L'output dovrebbe essere simile al seguente:

Python 3.6.9

A partire da Python 3.6, il modo consigliato per creare un ambiente virtuale è utilizzare il modulo venv. Per installare il pacchetto python3-venv che fornisce il modulo venv, eseguire il comando seguente:

sudo apt install python3-venv

Una volta installato il modulo, siamo pronti per creare un ambiente virtuale per la nostra applicazione Flask.

Creare un ambiente virtuale

Inizia navigando nella directory in cui desideri archiviare i tuoi ambienti virtuali Python 3. Può essere la tua home directory o qualsiasi altra directory in cui l'utente ha autorizzazioni di lettura e scrittura.

Crea una nuova directory per l'applicazione Flask e naviga al suo interno:

mkdir my_flask_app
cd my_flask_app

Una volta all'interno della directory, eseguire il comando seguente per creare il nuovo ambiente virtuale:

python3 -m venv venv

Il comando sopra crea una directory chiamata venv, che contiene una copia del binario Python, il gestore pacchetti Pip, la libreria Python standard e altri file di supporto. È possibile utilizzare qualsiasi nome desiderato per l'ambiente virtuale.

Per iniziare a utilizzare questo ambiente virtuale, è necessario attivarlo eseguendo lo script activate:

source venv/bin/activate

Una volta attivata, la directory bin dell'ambiente virtuale verrà aggiunta all'inizio della variabile $PATH. Anche il prompt della shell cambierà e mostrerà il nome dell'ambiente virtuale attualmente in uso. Nel nostro caso questo è venv.

Installare Flask

Ora che l'ambiente virtuale è attivato, è possibile utilizzare il pip del gestore pacchetti Python per installare Flask:

pip install Flask

All'interno dell'ambiente virtuale, è possibile utilizzare il comando pip anziché pip3 e python invece di python3.

Verificare l'installazione con il seguente comando che stamperà la versione Flask:

python -m flask --version

Al momento della stesura di questo articolo, l'ultima versione ufficiale di Flask è 1.1.1

Python 3.6.9
Flask 1.1.1
Werkzeug 1.0.0

La tua versione Flask potrebbe differire dalla versione mostrata qui.

Creare un'applicazione di flask minima

In questa guida, creeremo una semplice applicazione Hello World che visualizzerà semplicemente il testo "Hello World!".

Apri il tuo editor di testo o Python IDE e crea il seguente file:

sudo nano ~/my_flask_app/hello.py
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

Analizziamo il codice riga per riga.

  1. Nella prima riga, stiamo importando la classe Flask.
  2. Successivamente, creiamo un'istanza della classe Flask.
  3. Quindi usiamo route() per registrare la funzione hello_world per il percorso /. Quando viene richiesto questo percorso, hello_world viene chiamato e il messaggio "Hello World!" Viene restituito al client.

Salvare il file come hello.py e tornare alla finestra del terminale.

Test del server di sviluppo

Useremo il comando flask per eseguire l'applicazione ma prima di ciò, dobbiamo dire a Flask come caricare l'applicazione specificando la variabile di ambiente FLASK_APP:

export FLASK_APP=hello

Il comando sopra avvierà il server integrato di sviluppo.

L'output sarà simile al seguente:

 * Serving Flask app "hello"
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

Se hai installato Flask su una macchina virtuale e desideri accedere al server di sviluppo Flask, puoi rendere il server pubblicamente disponibile aggiungendo --host=0.0.0.0 al comando flask run.

Apri http://127.0.0.1:5000 nel tuo browser web e ti verrà presentato il messaggio "Hello World!".

Per interrompere il server di sviluppo digitare CTRL-C nel proprio terminale.

Disattivare l'ambiente virtuale

Una volta terminato il tuo lavoro, disattiva l'ambiente, digitando deactivate e tornerai alla tua shell normale.

deactivate

Conclusione

Hai imparato a creare un ambiente virtuale Python e installare Flask sul tuo computer Ubuntu 18.04. Per creare ulteriori ambienti di sviluppo Flask, ripetere i passaggi descritti in questo tutorial.

Se non conosci Flask, visita la pagina della documentazione di Flask e scopri come sviluppare la tua prima app Flask.