Utilizzo dei modelli in Flask

Sommario
Un'applicazione web richiede una parte che l'utente può vedere che viene chiamata Visualizza o view e consiste in un'interfaccia scritta in HTML che ci permette di mostrare dati statici e dinamici in base al percorso a cui l'utente accede.
Quando lavoriamo con microframework come Borraccia, per impostazione predefinita non è necessario visualizzare la vista per utilizzare elementi aggiuntivi, restituendo solo il codice HTML corrispondente che possiamo ottenere per mostrare dati coerenti.
Il problema sorge quando la nostra applicazione inizia a crescere e abbiamo diverse visualizzazioni, la ripetizione del codice riempie la nostra applicazione di elementi che potremmo riutilizzare e che farlo manualmente rappresenta per noi un lavoro maggiore. Per evitare questo problema abbiamo il motori di modelli, che ci aiutano a riutilizzare i file HTML e quindi ridurre la quantità di codice oltre ad aumentare la leggibilità del nostro programma.
Jinja2 è un motore di modelli scritto interamente in Pitone ed è stato modellato dopo il motore di template di Django, questo ci permette di posizionare porzioni di codice HTML e con il codice del motore, includi etichette che verranno successivamente sostituite dai dati della nostra applicazione.
Cos'altro include?Include anche le proprie funzioni che ci aiutano a formattare i dati che riceviamo, oltre a gestire condizionali, funzioni di data e altri elementi che ci aiutano a programmare il comportamento del modello in modo semplice ed espressivo.
Nell'ultima versione di Borraccia Questo motore è incluso nell'installazione quindi il suo utilizzo è più facile e veloce.
Abbiamo discusso della creazione di una vista in Borraccia era semplice come stampare il codice HTML nella funzione di percorso desiderata, tuttavia per coloro che sono nuovi a questo framework questo può sembrare molto confuso.
Nell'esempio seguente creeremo una vista in cui riceveremo un parametro e lo stamperemo nel risultato, la cosa interessante è che questo parametro può essere inserito dall'utente, quindi la vista è dinamica fino a un certo punto, vediamo il codice e poi passiamo alla spiegazione:
 from flask import Flaskapp = Flask (__ nome __) @ app.route ('/') @ app.route ('/ benvenuto') @ app.route ('/ benvenuto /') def benvenuto (nome = Nessuno): nome = nome o 'Utente' ritorna '' 'Benvenuto!

Questa è la nostra visione made in Flask!

'' '% ifname __name__ ==' __main__ ': app.run ()
Qui quello che facciamo è qualcosa di molto semplice, prima importiamo le librerie che contengono i struttura, quindi definiamo tre percorsi chiave, tutti ci portano alla stessa funzione chiamata benvenuto e riceve un parametro che è opzionale dove se non viene ricevuto verrà semplicemente ignorato all'interno del programma.
Quindi nella funzione creiamo la nostra istruzione Restituzione e qui indichiamo che a Corda contenente il HTML per la vista. Se testiamo questo programma otterremo un risultato accettabile nel browser, vediamo:

Molti potrebbero dire che questo è molto funzionale, ma cosa succede se invece di mostrare quella pagina vuota, vogliamo integrare stili CSS, effetti JavaScript o altre cose. Quindi il nostro HTML richiederebbe più codice e quindi tutto sarebbe eccessivamente complicato, rendendo la nostra applicazione un inferno da gestire.
Ora creeremo la stessa vista ma usando il motore di modelli che abbiamo descritto all'inizio del tutorial, per ottenere l'esempio dobbiamo fare alcuni preparativi, questi hanno a che fare con la struttura del nostro progetto, poiché se siamo utilizzando i file modello è meglio separarli dall'applicazione in altre cartelle e quindi dividere il nostro livello visivo dalle regole aziendali e dal livello logico.
Sapendo questo poi dobbiamo creare una cartella per i nostri template, per convenzione la chiameremo templates, però dobbiamo avere anche altre cose, ad esempio dobbiamo avere una cartella che fungerà da modulo e la chiameremo con il nome della vista che andremo a creare, oltre a ciò dobbiamo avere dei file, nella prossima immagine vedremo la struttura completa e poi andremo al relativo codice per far funzionare tutto.

Contenuto del filePrima di passare alla generazione e all'utilizzo del template, dobbiamo vedere il contenuto dei file che faranno girare senza problemi la nostra applicazione, vedremo brevemente ogni file per non perdere molto tempo. È importante notare che questa è una struttura suggerita, tuttavia Borraccia consente ad ogni sviluppatore di realizzare la struttura che più gli si addice in base al suo obiettivo.
Questo file è quello che ci permette di eseguire l'applicazione, da qui il suo nome, generalmente può essere chiamato run.py Inoltre, ma ai fini di questo tutorial abbiamo messo un nome che è più comprensibile dalla comunità di lingua spagnola, qui dobbiamo inserire il seguente codice:
 da flasko import appapp.run (debug = True)

Questo è il file che si trova nella radice dell'applicazione, è necessario essere in grado di stabilire che verrà eseguito e le sue dipendenze, in questo file è anche dove definiamo che il file verrà utilizzato views.py della cartella di benvenuto che abbiamo visto prima, questa può avere qualsiasi nome ma views.py È una convenzione che ci aiuterà a mantenere un'applicazione amichevole, qui dobbiamo inserire quanto segue:
 from flask import Flaskapp = Flask (__ nome __) import flasko.bienvenido.views

Questo file deve essere vuoto poiché abbiamo solo bisogno che esista in modo che Borraccia interpretare che questa cartella è un modulo della nostra applicazione.
Poiché abbiamo i file di base per la nostra applicazione, è il momento di creare la vista e utilizzare il modello. La prima cosa che faremo è creare la nostra vista, questa sarà molto simile alla vista precedente ma migliorata, per questo dobbiamo lavorare nel file views.py e posizionare quanto segue:
 from flask import render_template, requestfrom flasko import [email protected] ('/') @ app.route ('/ welcome') def welcome_web (): name = request.args.get ('name', 'User') return render_template ('index.html', nome = nome)
La prima cosa che facciamo è importare dal framework la libreria che ci permette di mostrare i template e una libreria per elaborare le richieste del browser.
Quindi definiamo i percorsi che faranno apparire questa vista, in questo caso è la radice / e anche quando viene posizionata la parola Benvenuto.
Infine definiamo la nostra funzione Benvenuto che assegna al nome della variabile i parametri ottenuti dalla richiesta del browser e poi effettuiamo un ritorno della funzione render_template, questo è quello che chiamerà il template e passerà il nome della variabile come parametri, dove indichiamo anche il nome del template.
È ora di creare il modello, questo è fondamentalmente un file con contenuto HTML e con alcuni tag che ci aiuteranno a dargli dinamismo, il file da modificare è il index.html che è nella cartella modelli, vediamo il codice che utilizzeremo:
 Benvenuto {{nome}}

Stiamo usando Flask!

Questo codice è semplice, facciamo il nostro HTML basic e poi dove vogliamo che il contenuto generato appaia nella vista, mettiamo solo doppie parentesi graffe {{}} e all'interno, il nome del parametro, questo significa che quando l'applicazione viene eseguita, questo valore viene sostituito con il contenuto che vogliamo. Se vediamo nell'immagine seguente ci renderemo conto di come è posizionato il nome che passiamo come parametro attraverso l'URL:

Non solo possiamo usare i parametri, possiamo anche creare dizionari Pitone con dati provenienti da una fonte di persistenza come a Banca dati o qualcosa di simile e in questo modo poter inserire ancora più dati.
Diversi modelliLa cosa interessante di questo argomento è che possiamo giocare con diversi modelli per diverse parti della nostra applicazione, questo separa il puro livello di presentazione da ciò che effettivamente programmiamo, rimuovendo il HTML dal centro possiamo separarci in due squadre e quindi lavorare correttamente senza confusione.
Con questo finiamo questo tutorial, abbiamo imparato a usare i modelli nelle applicazioni realizzate con Borraccia, questo modo di lavorare ci farà risparmiare fatica e ripetizione di codice, soprattutto se ci affidiamo alla documentazione ufficiale di Jinja2 per ottenere il massimo dal motore dei modelli. È molto importante stabilire una struttura del progetto e separare i diversi tipi di file, poiché in questo modo manterremo un progetto amichevole per il resto del nostro team di sviluppo o nel caso in cui desideriamo caricarlo su una rete di codici come GitHub per condividere il lavoro svolto con la community.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave