Quickstarters
CRUD Samples
Come sviluppare un'app CRUD con Flask?
33 min
panoramica questo tutorial ti guiderà nella creazione di un'applicazione crud (crea, leggi, aggiorna, elimina) utilizzando flask integreremo back4app come nostro servizio backend per semplificare la gestione dei dati imparerai a configurare un progetto back4app, progettare una struttura dati flessibile e implementare funzionalità crud utilizzando flask in questo walkthrough, prima creerai un progetto back4app chiamato basic crud app flask che offre una soluzione robusta di archiviazione dati non relazionale definirai il tuo schema dati con classi e campi manualmente o utilizzando l'ai agent di back4app dopo aver configurato il tuo backend con l'interfaccia di amministrazione di back4app, collegherai la tua applicazione flask al servizio tramite chiamate api rest questo tutorial copre anche la gestione sicura dell'accesso ai tuoi dati entro la fine, avrai un'applicazione flask pronta per la produzione in grado di eseguire operazioni crud insieme a un'autenticazione utente sicura e gestione dei dati cosa imparerai come creare un'app crud basata su flask con un backend non relazionale come strutturare il tuo backend su back4app e integrarlo con un progetto flask come utilizzare l'interfaccia di amministrazione di back4app per gestire le operazioni crud senza sforzo come distribuire la tua applicazione flask, incluso l'uso di docker per la containerizzazione requisiti preliminari prima di iniziare, assicurati di avere un account back4app con un progetto configurato hai bisogno di aiuto? fai riferimento a iniziare con back4app https //www back4app com/docs/get started/new parse app un ambiente di sviluppo python configurato usa un editor come vscode o pycharm e installa python 3 8 (o versioni successive) conoscenze di base di python, flask e api rest consulta la documentazione di python https //docs python org/3/ se necessario passo 1 – configurazione iniziale del progetto creazione del tuo progetto back4app accedi al tuo account back4app clicca su “nuova app” dalla tua dashboard inserisci il nome del progetto basic crud app flask e completa il processo di configurazione crea nuovo progetto dopo la creazione, il tuo progetto appare sulla dashboard, fungendo da base per la configurazione del tuo backend passo 2 – costruire lo schema dei dati definire le tue strutture dati per questa applicazione, stabilirai diverse classi nel tuo progetto back4app di seguito sono riportati esempi delle classi principali e dei loro campi essenziali per le operazioni crud 1\ classe articoli campo tipo descrizione id objectid identificatore unico generato automaticamente titolo stringa il nome o titolo dell'elemento descrizione stringa una breve panoramica dell'oggetto creatoil data timestamp quando l'elemento è stato creato aggiornatoil data timestamp per l'ultimo aggiornamento 2\ classe utenti campo tipo descrizione id objectid identificatore unico generato automaticamente nome utente stringa nome utente unico per l'utente email stringa indirizzo email unico hashpassword stringa password crittografata in modo sicuro per l'autenticazione creatoil data timestamp in cui è stato creato l'account utente aggiornatoa data timestamp per l'ultimo aggiornamento dell'account puoi creare queste classi e aggiungere campi direttamente nel tuo dashboard di back4app crea nuova classe puoi aggiungere colonne scegliendo un tipo di dato, nominando il campo, impostando valori predefiniti e contrassegnandolo come obbligatorio crea colonna utilizzare l'agente ai di back4app per la creazione dello schema l'agente ai nel tuo dashboard può stabilire automaticamente lo schema in base alle tue istruzioni questo strumento semplifica il processo e garantisce che il tuo modello di dati sia ottimale per le operazioni crud come utilizzare l'agente ai apri l'agente ai accedi al tuo dashboard di back4app e trova l'agente ai nelle impostazioni del progetto descrivi il tuo schema fornisci un prompt dettagliato elencando le classi e i campi conferma la configurazione esamina lo schema proposto e approva le modifiche esempio di prompt create the following classes in my back4app project 1\) class items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) class users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) questo processo guidato dall'ia fa risparmiare tempo e garantisce un modello di dati coerente ed efficace passo 3 – abilitare l'interfaccia admin e gestire le operazioni crud panoramica dell'interfaccia admin l'interfaccia admin di back4app fornisce una soluzione senza codice per gestire i tuoi dati di backend con le sue funzionalità di trascinamento e rilascio, puoi facilmente eseguire operazioni crud, come aggiungere, modificare o eliminare record abilitare l'interfaccia admin vai al menu “altro” nella tua dashboard di back4app seleziona “admin app” e clicca “abilita admin app ” crea il tuo account admin, che imposta anche i ruoli iniziali come b4aadminuser abilita admin app dopo l'attivazione, accedi all'interfaccia admin per gestire i dati del tuo progetto dashboard dell'app admin utilizzare l'interfaccia admin per crud all'interno dell'interfaccia di amministrazione, puoi inserire nuove voci clicca su “aggiungi record” all'interno di una classe (ad es , articoli) per creare nuovi dati visualizzare e modificare voci seleziona qualsiasi record per vedere i dettagli o aggiornare i campi eliminare record rimuovi voci che non sono più necessarie questa interfaccia facile da usare migliora la produttività semplificando la gestione del backend passo 4 – collegare la tua applicazione flask a back4app con il tuo backend impostato, il passo successivo è collegare la tua applicazione flask a back4app effettuare chiamate api da flask poiché non esiste un sdk parse dedicato per flask, utilizzerai chiamate api rest nella tua app flask, puoi utilizzare la requests libreria per eseguire operazioni crud esempio configurare la comunicazione api installa la libreria requests esegui il seguente comando nel tuo terminale pip install requests configura un modulo python per le chiamate api crea un file chiamato back4app api py # back4app api py import requests application id = "your application id" rest api key = "your rest api key" base url = "https //parseapi back4app com/classes" headers = { "x parse application id" application id, "x parse rest api key" rest api key, "content type" "application/json" } def get items() response = requests get(f"{base url}/items", headers=headers) return response json() def create item(title, description) data = {"title" title, "description" description} response = requests post(f"{base url}/items", headers=headers, json=data) return response json() def update item(object id, title, description) data = {"title" title, "description" description} response = requests put(f"{base url}/items/{object id}", headers=headers, json=data) return response json() def delete item(object id) response = requests delete(f"{base url}/items/{object id}", headers=headers) return response json() integra le funzioni api nei tuoi percorsi flask ad esempio, in app py # app py from flask import flask, request, jsonify, render template from back4app api import get items, create item, update item, delete item app = flask( name ) @app route("/") def index() items = get items() return render template("index html", items=items get("results", \[])) @app route("/add", methods=\["post"]) def add item() title = request form get("title") description = request form get("description") result = create item(title, description) return jsonify(result) @app route("/update/\<item id>", methods=\["put"]) def modify item(item id) data = request get json() result = update item(item id, data get("title"), data get("description")) return jsonify(result) @app route("/delete/\<item id>", methods=\["delete"]) def remove item(item id) result = delete item(item id) return jsonify(result) if name == " main " app run(debug=true) questo esempio illustra come utilizzare le chiamate rest all'interno di flask per interagire con il tuo backend back4app passo 5 – proteggere il tuo backend implementare i controlli di accesso proteggi i tuoi dati configurando i controlli di accesso ad esempio, quando crei un nuovo elemento, potresti limitare l'accesso al suo creatore di seguito è riportato un esempio che utilizza chiamate api con accesso controllato import requests def create private item(title, description, user token) data = {"title" title, "description" description} headers = { "x parse application id" "your application id", "x parse rest api key" "your rest api key", "x parse session token" user token, "content type" "application/json" } response = requests post("https //parseapi back4app com/classes/items", headers=headers, json=data) return response json() configurare i permessi a livello di classe regola i permessi a livello di classe (clp) direttamente nel dashboard di back4app per garantire che solo gli utenti autenticati possano accedere a classi specifiche passo 6 – implementare l'autenticazione degli utenti impostare la gestione degli utenti back4app offre una gestione degli utenti integrata tramite la sua classe users nella tua app flask, puoi creare endpoint per la registrazione e il login esempio registrazione e login utente \# auth py import requests application id = "your application id" rest api key = "your rest api key" headers = { "x parse application id" application id, "x parse rest api key" rest api key, "content type" "application/json" } def register user(username, password, email) data = {"username" username, "password" password, "email" email} response = requests post("https //parseapi back4app com/users", headers=headers, json=data) return response json() def login user(username, password) params = {"username" username, "password" password} response = requests get("https //parseapi back4app com/login", headers=headers, params=params) return response json() puoi creare rotte flask corrispondenti per gestire la registrazione e il login degli utenti utilizzando queste funzioni passo 7 – distribuzione della tua applicazione flask back4app semplifica la distribuzione puoi distribuire la tua app flask tramite diversi metodi, incluso docker 7 1 imballaggio della tua applicazione flask prepara la tua applicazione assicurati che tutti i file e le dipendenze richieste siano inclusi testa localmente esegui la tua app localmente con flask run 7 2 organizzazione della struttura del progetto una struttura tipica potrebbe essere basic crud app flask/ \| app py \| back4app api py \| auth py \| templates/ \| | index html \| static/ \| requirements txt \| dockerfile 7 3 contenitore con docker includi un dockerfile nella radice del progetto \# use a lightweight python image from python 3 9 slim \# set the working directory workdir /app \# install dependencies copy requirements txt run pip install no cache dir r requirements txt \# copy the application code copy \# expose the port flask runs on expose 5000 \# start the flask app cmd \["python", "app py"] 7 4 distribuzione tramite back4app web deployment collega il tuo repository github assicurati che il tuo codice sia stato inviato su github configura le impostazioni di distribuzione nel dashboard di back4app, utilizza la web deployment per collegare il tuo repository (ad esempio, basic crud app flask ) e seleziona il tuo ramo definisci i comandi di build specifica il comando di build (ad esempio, pip install r requirements txt ) e la posizione della tua applicazione distribuisci clicca su deploy e monitora i log fino a quando la tua applicazione è attiva passo 8 – conclusione e direzioni future ottimo lavoro! hai creato con successo un'applicazione crud basata su flask integrata con back4app hai avviato un progetto chiamato basic crud app flask , definito modelli di dati per articoli e utenti, e gestito il tuo backend tramite l'interfaccia di amministrazione di back4app inoltre, hai collegato la tua applicazione flask utilizzando chiamate api rest e implementato misure di sicurezza cosa c'è dopo? espandi le funzionalità considera di aggiungere funzionalità come ricerca avanzata, visualizzazioni dettagliate degli articoli o aggiornamenti in tempo reale migliora i servizi backend esplora funzioni cloud, integra api di terze parti o implementa il controllo degli accessi basato sui ruoli approfondisci le tue competenze visita la documentazione di back4app https //www back4app com/docs e altre risorse per perfezionare ulteriormente la tua applicazione buon coding e buona fortuna con la tua applicazione flask crud!