Crea un'app Hello World usando Flask Framework

Crea un'app Hello World usando Flask Framework
Questo articolo coprirà una guida sulla scrittura di una semplice applicazione Hello World utilizzando il framework "Flask" basato su Python. Il pallone può essere utilizzato per creare applicazioni Web minime, estensibili e avanzate utilizzando un set di librerie incluse nel suo modulo. Tutti i campioni di codice in questo tutorial sono testati su Ubuntu 20.10 Avere Python versione 3.8.6 e FLASK versione 1.1.2.

A proposito di pallone

Fask è un framework di sviluppo delle applicazioni Web basato su Python che è appositamente progettato per essere minimo per iniziare. Questo aiuta a prototipazione rapida, sviluppo rapido e distribuzione rapida. Eventuali funzionalità avanzate che devi aggiungere alla tua applicazione Web possono essere aggiunte tramite estensioni. Il sito ufficiale di Fask si descrive come un framework "micro" poiché lascia tutte le decisioni principali agli utenti stessi e decide poco per conto di essi. Gli utenti possono scegliere i propri motori modello, librerie di gestione del database, strumenti di convalida dei moduli e così via, sebbene il pallone sia dotato di alcuni impostazioni predefinite sane.

Installazione del pallone in Linux

Se si utilizza Ubuntu, è possibile installare il pallone eseguendo il comando menzionato di seguito:

$ sudo apt install python3-flask

È possibile evitare di utilizzare la versione repository e installare l'ultima versione di Flask da "PIP" Gestione pacchetti eseguendo in seguito a due comandi:

$ sudo apt install python3-pip
$ PIP3 Installa pallone

Se si utilizza qualsiasi altra distribuzione Linux, cerca pacchetti "Flask" nel gestore dei pacchetti o installalo dallo strumento di installazione del pacchetto "PIP". Ulteriori istruzioni dettagliate sono disponibili qui.

Una volta terminata l'installazione, è possibile controllare la versione del pallone utilizzando il comando specificato di seguito:

$ Python3 -c "Importa Fask; Stampa (pallone.__versione__)"

Il modello client-server

Come affermato in precedenza, il pallone viene utilizzato per sviluppare applicazioni Web. In genere, tutti i quadri di sviluppo delle applicazioni Web in Python e altri linguaggi di programmazione utilizzano l'architettura client-server. Fask utilizza anche un modello client-server in cui gli utenti possono scrivere la logica lato server per creare applicazioni o siti Web Web. Il "client" qui si riferisce a un browser Web o a qualsiasi altra app che consente il rendering di pagine Web utilizzando HTML, JavaScript e CSS Technologies. Mentre il "server" si riferisce a un server locale o remoto in cui viene eseguita l'app di pallone scritta in lingua Python.

Quando si esegue un'app di pallone localmente sul tuo PC, un server locale viene automaticamente creato per servire l'applicazione Web. Il pallone emetterà un URL LocalHost nel tuo terminale. Puoi visitare questo URL in qualsiasi browser Web per visualizzare il risultato finale. È inoltre possibile impostare un server remoto per facilitare la comunicazione tra un client e un server e avviare il proprio sito Web pubblico o applicazione Web.

È possibile creare HTML lato client, JavaScript e codice CSS necessario per l'applicazione Web utilizzando il codice lato server scritto in Flask e Python. Ma una volta distribuita l'applicazione Web e la si esegue in un browser Web, l'applicazione Web non vedrà o capirà il codice Python. Elaborerà HTML, JavaScript e CSS solo poiché solo queste tecnologie sono supportate principalmente dai browser Web. Sarai comunque in grado di comunicare con il server dal lato client utilizzando le richieste HTTP. È possibile passare molto i dati da client al server, elaborarli utilizzando una logica lato server e restituire il risultato.

Quindi, a seconda del tipo di applicazione Web che stai sviluppando, potresti dover decidere dove implementare la logica: sul lato server o sul lato client sulla base di caso.

Semplice applicazione Hello World in pallone

È possibile utilizzare il campione di codice di seguito per creare un'applicazione "Hello World" semplicistica in pallone per iniziare:

Dal pallone di importazione di pallone
app = pallone (__ nome__)
@App.itinerario('/')
def hello_world_app ():
messaggio = "Ciao mondo!!"
Messaggio di ritorno

La prima istruzione nel codice di cui sopra importa la classe "Flask" dal modulo "Flask". Una volta importato, sarai in grado di utilizzare tutti i metodi disponibili nella classe "Flask".

Nella prossima dichiarazione, viene creata una nuova istanza della classe "Flask" e il nome del file viene fornito come argomento. Se stai solo usando un singolo ".File Py "senza un ulteriore" __init__.Py ”File in genere utilizzato durante la creazione di una struttura di file per un pacchetto Python, il nome avrà un valore hardcoded di“ __main__ ”. L'argomento "__name__" indica a Flask dove cercare i file relativi all'applicazione del pallone corrente in esecuzione. Puoi anche fornire il tuo percorso personalizzato al tuo file di pallone principale invece di fornire un argomento "__name__". Ma in genere, la maggior parte degli sviluppatori usa solo "__name__" e questo sembra essere una pratica standard.

Successivamente, un'app "decorazione".Route "è allegato alla funzione" hello_world_app ". Le funzioni di decorazione estendono o modificano la funzione a cui sono attaccate, senza modificarle effettivamente. Qui, “App.Il decoratore di rotta ”viene utilizzato per specificare il percorso URL in cui verrà eseguita la funzione allegata. Il simbolo "/" dice a Fask di eseguire una funzione sull'URL "/", che sta per il dominio "root" o l'URL "root". Ad esempio, se l'URL per la tua app è "App.com ", la funzione verrà attivata per" App.com "URL. Puoi cambiarlo anche in qualcos'altro. Ad esempio, usando un decoratore “@App.route ('/helloworld') ”, puoi mappare la funzione in“ App.com/helloworld ”URL.

Finalmente la funzione "Hello_World_App" viene utilizzata per restituire il contenuto che si desidera visualizzare in un browser Web quando la tua app Web è in esecuzione.

Esecuzione di un'app di pallone

Per eseguire un'app di pallone in Linux, è necessario eseguire un comando nel seguente formato:

$ Export Flask_App = Main.Py
$ Flask Run

Cambia “Main.Py ”Nome se necessario per abbinarlo al tuo .File "Py" in cui hai scritto il tuo codice di pallone. Il secondo comando esegue la tua app di pallone. Puoi anche eseguire questo comando alternativo:

$ Flask_app = main.Py Flask Run

Dopo aver eseguito questi comandi, dovresti vedere qualche output come questo:

Basta aprire l'URL menzionato nel terminale in un browser Web per vedere l'applicazione in azione.

È possibile eseguire l'app Flask in modalità Debug utilizzando la variabile di ambiente "Flask_env" nel seguente formato:

$ Flask_env = sviluppo flask_app = main.Py Flask Run

Utilizzo del motore del modello Jinja2

Fask usa "Jinja2" per modellare il motore per facilitare la scrittura del codice HTML in Python. Puoi usarlo per impostare un markup per "Hello World!!" Messaggio.

Crea una nuova directory chiamata "Modelli" in cui si trova il tuo script di pallone principale. All'interno della directory "modello", crea un nuovo file chiamato "hw_template.HTML ". Apri il "hw_template.file html "e inserisci il seguente codice:


Ciao mondo!!
% se colore %

Ciao mondo!!


% altro %

Ciao mondo!!


% finisci se %

Questo codice è scritto in una sintassi che "Jinja2" comprende. Puoi fare riferimento alla documentazione "jinja2" disponibile qui. Il markup del modello controlla se una variabile denominata "colore" è stata passata o no. Se sì, cambia il colore del "Hello World!!"Messaggio usando il valore dalla variabile" Colore "passata ad esso.

Per passare una variabile al modello "Jinja2", devi scrivere il codice nel seguente formato:

@App.itinerario('/')
def hello_world_app ():
return render_template ('hw_template.html ', color = "rosso")

Il metodo "Render_Template" viene utilizzato per rendere il markup da un file modello "Jinja2". Puoi fornirlo il nome del modello che desideri rendere e tutti gli argomenti che desideri trasmettere al modello. Il "hw_template.Il modello HTML "utilizzato sopra elabora una variabile" colore "dopo che il codice del pallone ha superato una variabile" colore "con un valore di" rosso ". Dopo aver eseguito il campione di codice sopra menzionato, è necessario ottenere il seguente risultato:

Puoi anche trasmettere valori variabili da un URL stesso. Dai un'occhiata al campione del codice di seguito:

@App.itinerario('/')
@App.itinerario('/')
def hello_world_app (color = "blue"):
return render_template ('hw_template.html ', color = color)

Due percorsi o percorsi URL sono allegati alla funzione "Hello_World_App". Quando visiti il ​​dominio root (esempio "app.com "), vedrai il" Hello World!!"Messaggio in colore blu come valore predefinito per la variabile" colore "è definito come" blu "e questo è il valore che stai passando al modello" jinja2 ".

Il secondo percorso definito da "@App.Route ('/') "utilizza una sintassi speciale. All'interno dei simboli "", è possibile definire eventuali variabili da trasmettere alla funzione "hello_world_app". Il valore predefinito per questa variabile è definito come un argomento per la funzione "hello_word_app". Quindi si passa la tua variabile personalizzata come argomento al metodo "render_template" e impostare il suo valore sulla variabile definita mentre si decora la funzione con un nuovo percorso personalizzato.

Ad esempio, “Ciao mondo !!"Il messaggio cambierà in colore rosso quando visiti" App.URL com/rosso "ma rimarrà blu quando visiterai" App.com "URL. Ecco un confronto fianco a fianco:

Conclusione

Fask è un potente framework di sviluppo delle applicazioni Web che può essere utilizzato per creare applicazioni sia semplici e avanzate. Questo tutorial spiega principalmente la creazione di un semplice "Hello World!!"App. È possibile collegarlo a un database e utilizzare le estensioni per estendere ulteriormente la sua funzionalità. Fare riferimento alla documentazione del pallone per saperne di più sulla gestione di database ed estensioni.