Crea un modello di dati in Flask

Sommario
Le nostre applicazioni sono molto più che semplici pagine, ecco perché dobbiamo creare modi per archiviare i dati in un sistema di persistenza, è qui che il Banche dati in gioco dove per stabilire il modo in cui il Database ci aiuterà è che i modelli devono essere creati.
Un modello ci fornisce la struttura sotto la quale opererà la logica più ampia della nostra applicazione, è qui che diamo un significato alle diverse entità con cui dobbiamo avere per esercitare le nostre azioni.
Borraccia hai la possibilità di utilizzare diversi tipi di Banche dati usando solo il ORM SQLAlchemy.
RequisitiAbbiamo bisogno di un'installazione funzionale di Borraccia, e le rispettive autorizzazioni per poter installare più componenti tramite pip. Se abbiamo la possibilità di lavorare con ambiente virtuale è molto più consigliato, tuttavia non è necessario. Se vogliamo estrapolare gli esempi del tutorial ne avremo bisogno Banca dati Che cosa MySQL nel caso in cui vogliamo portare la funzionalità in un ambiente molto più reale, poiché negli esercizi lavoreremo con sqlite come misura di semplificazione e per essere più pratici.
La prima cosa che faremo è installare SQLAlchemy, questo passaggio è molto semplice, dobbiamo solo eseguire il seguente comando nella console abilitata all'esecuzione pip:
 pip install flask-sqlalchemy
Alla fine riceveremo un messaggio di successo se tutto è andato a buon fine:

Ora mettiamo SQLAlchemy per funzionare, per questo creeremo una piccola applicazione dove vedremo come possiamo stabilire una connessione con un motore di database. In questo caso si chiamerà la nostra applicazione flasko e al suo interno dobbiamo avere la seguente struttura.
1- Un file chiamato run.py che sarà nella radice dell'applicazione, questo file è quello che esegue l'inizializzazione di base dell'intero ambiente.
2- Una cartella denominata flasko e all'interno di questo un file chiamato __init__.py che è dove inizializzeremo l'uso di borraccia e di SQLAlchemy direttamente.
Vediamo nell'immagine seguente come appare questa struttura in un progetto:

Una volta che sappiamo cosa dovremmo avere, avremo i contenuti per i nostri file iniziali. Nel file run.py dobbiamo avere quanto segue:
 da flasko import appapp.run (debug = True)
Quindi nel nostro file __init__.py inseriremo questo codice:
 from flask import Flaskfrom flask.ext.sqlalchemy import SQLAlchemyapp = Flask (__ nome __) app.config ['SQLALCHEMY_DATABASE_URI'] = 'sqlite: //flaskodb.db'db = SQLAlchemy (app)
Quest'ultimo codice è molto facile da spiegare, basta importare Borraccia, quindi importiamo SQLAlchemy, stabiliamo che la nostra app funzioni con il framework e quindi stabiliamo la connessione con il nostro Banca dati in questo caso sqlite, dove si chiamerà flaskdb.db e sarà nella stessa directory della nostra applicazione. Infine assegniamo l'oggetto SQLAlchemy a una variabile chiamata db con cui lavoreremo in seguito.
Se avviamo la nostra applicazione ora, dovrebbe avviarsi senza errori, l'unica cosa è che non avremo un risultato perché l'applicazione è ancora vuota.
Dal momento che abbiamo la configurazione di base della nostra applicazione ora dobbiamo gettare le basi per creare il nostro modello, per questo dovremo creare una cartella all'interno della nostra cartella che contiene il file __init__.py ed è lì che genereremo il contenuto necessario.
Vediamo come viene modificata la nostra struttura di cartelle:

Come possiamo vedere all'interno della nostra nuova cartella del prodotto abbiamo generato 3 file, un file __init__.py che deve essere vuoto, un file modelli.py e altro views.py. Con questa struttura andremo a modificare il nostro __init__.py dalla radice della nostra applicazione, dove è importante non confonderlo con l'__init__.py dei prodotti.
 from flask import Flaskfrom flask.ext.sqlalchemy import SQLAlchemyapp = Flask (__ nome __) app.config ['SQLALCHEMY_DATABASE_URI'] = 'sqlite: ///flaskodb.db'db = SQLAlchemy (app) from import flasko.product. register_blueprint (prodotto) db.create_all ()
Quello che abbiamo fatto è che dopo la creazione dell'oggetto db abbiamo importato le viste dalla nostra nuova cartella e registrato un planimetria, infine diciamo all'oggetto db che deve creare tutte le tabelle necessarie. Ora dobbiamo modificare il nostro file modelli.py all'interno del prodotto, e inseriremo il seguente codice:
 from flasko import dbclass Product (db.Model): id = db.Column (db.Integer, primary_key = True) name = db.Column (db.String (255)) price = db.Column (db.Float) def __init__ (self, nome, prezzo): self.name = nome self.price = prezzo def __repr __ (self): return ''% self.id
Qui fondamentalmente quello che facciamo è definire una classe che porterà come attributi i campi che richiederemo al nostro prodotto, inoltre al suo interno ci sono un paio di metodi per la definizione e la rappresentazione del nostro modello.
Una volta fatto quanto sopra, andiamo al file views.py, in questo dobbiamo creare il codice che ci permette di interagire con il nostro modello per questo dobbiamo scrivere quanto segue:
 from flask import request, jsonify, Blueprintfrom flasko import app, dbfrom flasko.product.models import Productproduct = Blueprint ('product', __name __) @ app.route ('/') @ app.route ('/ start') def start (): return "Welcome to Flasko" @ app.route ('/ product /') def product (id): product = Product.query.get_or_404 (id) return 'Product -% s, $% s'% ( product .name, product.price) @ app.route ('/ products') def products (): products = Product.query.all () res = {} per prodotto in products: res [product.id] = {' name ': product.name,' price ': str (product.price)} return jsonify(res)@app.route (' / create-product ', method = [' POST ',]) def create_product (): name = request.form.get ('nome') prezzo = request.form.get ('prezzo') prodotto = Prodotto (nome, prezzo) db.session.add (prodotto) db.session.commit () return 'Il prodotto è stato creato con successo '
La prima cosa che notiamo è che abbiamo molto più contenuto in questo file che nel resto della nostra applicazione ed è perché è qui che si svolge l'intera vita della nostra vista, il primo percorso è l'inizio della nostra applicazione e non implicare alcun mistero più grande.
Il secondo e il terzo percorso sono di consultazione, dove possiamo cercare per ID prodotto e nel caso non ci sia nulla per restituire una pagina 404, abbiamo anche la funzionalità per elencare tutti i prodotti disponibili nel nostro Banca dati.
L'ultimo percorso è quello che ci permette attraverso il metodo INVIARE la creazione di un prodotto e il suo successivo stoccaggio in Banca dati, per questo istanziamo il nostro modello Prodotto, dove poi passiamo detto attributo all'oggetto db e con i suoi metodi Inseriscicommettere lo aggiungiamo a Banca dati.
Ora ciò che resta da testare la nostra applicazione è aggiungere il contenuto che andrà nel nostro Database, se ricordiamo nel file views.py creiamo una vista che riceve i dati attraverso il metodo INVIARE ed è colui che si occupa di fare gli inserimenti in esso. Per aggiungere elementi utilizzeremo un modulo Pitone chiamata richieste che ci permette di inviare i dati tramite POST, se non lo abbiamo a disposizione dobbiamo semplicemente installarlo con il seguente comando:
 pip richieste di installazione
In una console secondaria avvieremo la nostra applicazione flasko in modo che il server sia attivo e per poter inviare le richieste da Pitone. Nella nostra console interattiva Pitone a cui accediamo scrivendo la parola pitone, dobbiamo fare quanto segue:
 request.post ('http://127.0.0.1:5000/ create-product', data = {'name': 'product1', 'price': '50'})
Quello che abbiamo fatto è stato inviare una richiesta tramite INVIARE al nostro percorso che aggiunge gli elementi al Database, i parametri vengono passati in un dizionario Pitone che è molto simile a un oggetto JSON.
Questo dovrebbe darci un codice 200 che significa che siamo riusciti effettivamente nella nostra richiesta, possiamo vederlo nell'immagine seguente:

Se ora navighiamo nella nostra applicazione nella vista prodotti, vedremo come ottenere ciò che abbiamo appena inserito tramite la console:

Vediamo che abbiamo una lista in formato JSON con il nostro prodotto che abbiamo appena aggiunto, se ora facciamo una ricerca sul percorso prodotto / 1 vedremo che lo otterremo anche:

Ovviamente questo è lungi dall'essere qualcosa degno di essere messo in produzione, tuttavia ci aiuta ad apprendere i fondamenti dei modelli e della persistenza dei dati all'interno Borraccia, la cosa più interessante è che siccome non abbiamo fatto indagini SQL diretto, se cambiamo la connessione in sqlite per uno a MySQL ad esempio, la nostra applicazione continuerà a funzionare normalmente.
Con questo abbiamo finito questo tutorial, sappiamo già come creare modelli in BorracciaInoltre, abbiamo imparato a manipolare in modo semplice ma molto utile il ORM SQLAlchemy, dove questi componenti sono molto importanti quando stiamo costruendo applicazioni molto più grandi in quanto ci permetteranno di ottenere risultati più complessi con meno lavoro.

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

wave wave wave wave wave