Quickstarters
Feature Overview
Come costruire un backend per Python?
41 min
introduzione in questo tutorial passo dopo passo, imparerai a costruire un backend completo per applicazioni python utilizzando back4app esploreremo l'integrazione delle funzionalità essenziali di back4app—come la gestione del database, le funzioni cloud code, le api rest e graphql, l'autenticazione degli utenti e le query in tempo reale—per creare un backend sicuro, scalabile e robusto che comunica senza problemi con il tuo codice python python è una scelta popolare tra i linguaggi di programmazione per lo sviluppo backend perché offre semplicità e la possibilità di mantenere il lato server con facilità framework e librerie come django, flask e altri hanno a lungo reso python una scelta privilegiata per i processi di sviluppo web sfruttando back4app, uno sviluppatore python può rapidamente impostare uno schema di database, garantire l'integrità dei dati e persino incorporare compiti di machine learning senza dover gestire infrastrutture complesse durante il percorso, acquisirai esperienza pratica con funzionalità chiave, come funzionalità di sicurezza avanzate, pianificazione di compiti con cloud jobs e impostazione di webhook per integrazioni esterne alla fine di questo tutorial, sarai ben preparato per migliorare questa struttura fondamentale in un'applicazione backend python pronta per la produzione o per integrarti facilmente con altri strumenti come docker e kubernetes man mano che il tuo progetto cresce questo darà il via al tuo viaggio nello sviluppo backend python utilizzando una piattaforma affidabile e robuste librerie python requisiti per completare questo tutorial, avrai bisogno di un account back4app e un nuovo progetto back4app iniziare con back4app https //www back4app com/docs/get started/new parse app iscriviti gratuitamente se non lo hai già fatto e crea un nuovo progetto python 3 x installato assicurati di avere python 3 x configurato sul tuo computer scarica python https //www python org/downloads/ il parse python sdk installa tramite pip con pip install parse rest useremo questo sdk per le interazioni con i dati familiarità con i concetti di base di python se sei nuovo in python, rivedi la documentazione ufficiale di python https //docs python org/3/ o un tutorial per principianti avere questi requisiti in atto garantirà che tu possa seguire mentre esploriamo come costruire un backend per python su back4app passo 1 – configurare il progetto back4app crea un nuovo progetto il primo passo per costruire il tuo backend python su back4app è creare un nuovo progetto se non ne hai già creato uno, segui questi passaggi accedi al tuo account back4app clicca sul pulsante “nuova app” nel tuo dashboard di back4app dai un nome alla tua app (ad esempio, “python backend tutorial”) una volta creato il progetto, lo vedrai elencato nel tuo dashboard di back4app questo progetto sarà la base per tutte le configurazioni del backend discusse in questo tutorial collegare il parse sdk back4app si basa sulla parse platform per gestire i tuoi dati, fornire funzionalità in tempo reale, gestire l'autenticazione degli utenti e altro ancora per collegare il tuo codice python a back4app, devi installare il relativo parse sdk e inizializzarlo con le credenziali dal tuo dashboard di back4app recupera le tue chiavi parse nel tuo dashboard di back4app, vai alla sezione impostazioni dell'app o sicurezza e chiavi per trovare il tuo id applicazione e chiave api rest troverai anche l' url del server parse (spesso https //parseapi back4app com ) installa il parse rest python sdk pip install parse rest inizializza parse nel tuo script python tipicamente, creeresti un file (ad esempio, parse config py ) nel tuo progetto parse config py # parse config py from parse rest connection import register \# replace the placeholders with your back4app credentials application id = "your application id" rest api key = "your rest api key" parse server url = "https //parseapi back4app com" \# the register function initializes the connection register(application id, rest api key, master key=none) questo codice garantisce che ogni volta che importi il tuo parse config modulo altrove nella tua applicazione python, sia preconfigurato per connettersi alla tua specifica istanza di back4app hai ora stabilito una connessione sicura tra il tuo codice python e il backend di back4app passo 2 – configurazione del database uno schema di database robusto è essenziale per lo sviluppo del backend python le funzionalità di gestione dei dati di back4app ti consentono di definire tabelle (classi), campi e relazioni, assicurandoti di poter facilmente memorizzare e recuperare dati nel tuo framework web python o in qualsiasi altra libreria python tu scelga creazione di un modello di dati back4app crea automaticamente schemi di classe quando salvi per la prima volta un oggetto dal codice, oppure puoi definire uno schema nella dashboard naviga nella sezione “database” nel tuo dashboard di back4app crea una nuova classe (ad esempio, “todo”) e aggiungi colonne pertinenti, come titolo (string) e iscompleted (boolean) creare un modello di dati utilizzando l'agente ai l'agente ai di back4app può aiutarti a creare rapidamente uno schema di database apri l'agente ai dal tuo dashboard dell'app descrivi il tuo modello di dati in linguaggio naturale (ad esempio, “crea un'app todo con uno schema di classe completo ”) lascia che l'agente ai generi automaticamente il tuo schema leggere e scrivere dati utilizzando il python parse sdk una volta che il tuo schema è pronto, salvare e interrogare i dati è semplice ad esempio models py from parse rest datatypes import object import parse config # ensure parse config is imported class todo(object) pass def create todo item(title, is completed=false) new todo = todo(title=title, iscompleted=is completed) new todo save() print("todo saved successfully ", new todo objectid) def fetch todos() return todo query all() \# usage \# create todo item("buy groceries", false) \# results = fetch todos() \# for todo in results \# print(todo title, todo iscompleted) lettura e scrittura di dati utilizzando l'api rest se preferisci interagire tramite rest, puoi inviare richieste direttamente curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo lettura e scrittura di dati utilizzando l'api graphql back4app fornisce anche un endpoint graphql per interrogare e modificare i dati mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } lavorare con le query live (opzionale) le query live ti permettono di ricevere aggiornamenti in tempo reale ogni volta che i dati cambiano per abilitarle attiva le query live nel tuo back4app impostazioni del server utilizza un approccio websocket in python per iscriversi alle modifiche anche se il sdk python per le query live è gestito dalla comunità, puoi integrare una libreria websocket se la tua applicazione richiede aggiornamenti in tempo reale passo 3 – applicare la sicurezza con acl e clp panoramica breve back4app fornisce liste di controllo degli accessi (acl) e permessi a livello di classe (clp) per aiutarti a garantire l'integrità dei dati queste funzionalità definiscono come gli utenti pubblici o gli utenti autenticati possono accedere o modificare i dati impostare i permessi a livello di classe vai al tuo dashboard di back4app , seleziona la tua app e apri la database sezione seleziona una classe (ad esempio, “todo”) vai ai permessi a livello di classe e configura le regole per gli utenti pubblici o autenticati configurare le acl nel codice le acl sono permessi dettagliati impostati su singoli oggetti ad esempio from parse rest datatypes import object, acl from parse rest user import user import parse config class todoacl(object) pass def create private todo(title, owner) todo = todoacl(title=title) \# create acl that allows only the owner read/write acl = acl() acl set read access(owner objectid, true) acl set write access(owner objectid, true) todo acl = acl todo save() return todo con le acl e le clp, puoi trovare un equilibrio tra sicurezza e comodità quando costruisci le tue applicazioni python passo 4 – scrivere funzioni di cloud code perché cloud code il cloud code ti consente di scaricare logiche aziendali importanti sul lato server questo potrebbe comportare validazioni, trigger o compiti sofisticati come l'integrazione di strumenti di machine learning o api esterne con lo sviluppo del tuo backend python funzione di esempio potresti scrivere le tue funzioni in main js (cloud code basato su javascript) su back4app nota che mentre sviluppi la tua applicazione in python, l'ambiente cloud code su back4app utilizza node js/javascript puoi chiamare queste funzioni dal tuo codice python o da qualsiasi altro client // main js parse cloud define("calculatetextlength", async (request) => { const { text } = request params; if (!text) { throw new error("no text provided"); } return { length text length }; }); puoi chiamare questa funzione utilizzando le capacità rest o graphql di python import requests def get text length(text) url = "https //parseapi back4app com/functions/calculatetextlength" headers = { "x parse application id" "your app id", "x parse rest api key" "your rest api key", "content type" "application/json" } response = requests post(url, headers=headers, json={"text" text}) data = response json() return data get("result", {}) \# usage length info = get text length("hello back4app") print(length info get("length")) distribuzione e npm il cloud code di back4app viene distribuito utilizzando il back4app cli https //www back4app com/docs/local development/parse cli o tramite la dashboard puoi installare pacchetti npm (ad esempio, per la manipolazione dei dati, chiamate api esterne) e farvi riferimento nel tuo main js questo approccio mantiene il tuo codice efficiente e sicuro sul lato server passo 5 – configurazione dell'autenticazione abilita o configura l'autenticazione utente back4app sfrutta la classe parse user per l'autenticazione questo gestisce automaticamente l'hashing delle password, i token di sessione e altro ancora puoi gestire le registrazioni, i login o i ripristini delle password con un sovraccarico minimo registrati e accedi da python from parse rest user import user import parse config def sign up user(username, password, email) new user = user signup(username, password, email=email) print("user signed up successfully ", new user objectid) return new user def log in user(username, password) logged user = user login(username, password) print("user logged in ", logged user username) return logged user le sessioni sono gestite automaticamente da parse puoi tenere traccia dell'utente connesso e chiamare logout() quando necessario per ulteriori dettagli, consulta la documentazione della classe utente https //www back4app com/docs/platform/users accesso sociale puoi integrare fornitori popolari (come facebook o google) configurando i flussi oauth o utilizzando adattatori specializzati fai riferimento alla documentazione dell'accesso sociale https //www back4app com/docs/platform/sign in with apple per ulteriori dettagli su come impostare queste funzionalità con il tuo progetto python passo 6 – gestione dello storage dei file impostazione dello storage dei file la piattaforma parse include uno storage di file nativo import requests import parse config def upload file(file path) file name = file path split('/')\[ 1] url = f"https //parseapi back4app com/files/{file name}" headers = { "x parse application id" "your app id", "x parse rest api key" "your rest api key", "content type" "image/jpeg" # or other mime type } with open(file path, 'rb') as f response = requests post(url, headers=headers, data=f) return response json() get('url') esempio puoi allegare questo file a un oggetto parse memorizzando il suo url questo mantiene i tuoi dati coerenti mentre i tuoi media sono ospitati in sicurezza da back4app considerazioni sulla sicurezza puoi controllare chi può caricare o accedere ai file configurando le impostazioni del tuo server parse per consentire solo agli utenti autenticati, ad esempio questo approccio garantisce che le tue applicazioni python in produzione rimangano sicure passo 7 – verifica email e ripristino password panoramica la verifica dell'email e il ripristino delle password sono cruciali per la gestione degli utenti aiutano a confermare le identità degli utenti e a mantenere la sicurezza dell'account configurazione del dashboard di back4app abilita la verifica email in impostazioni app > impostazioni email configura i modelli di email, come l'indirizzo “da”, e le istruzioni per il ripristino della password implementazione del codice da python, puoi attivare le email di ripristino della password tramite l'endpoint rest o le librerie parse ad esempio curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"email" "user\@example com"}' \\ https //parseapi back4app com/requestpasswordreset questo garantisce un flusso senza soluzione di continuità per il ripristino delle password direttamente dal tuo backend python o da qualsiasi altra interfaccia passo 8 – pianificazione dei compiti con cloud jobs cosa fanno i cloud jobs i cloud jobs ti consentono di automatizzare compiti, come la pulizia di vecchi record o la generazione di report periodici questi vengono eseguiti sull'infrastruttura di back4app a intervalli specificati esempio nel tuo main js parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); try { const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; } catch (err) { throw new error('error during cleanup ' + err message); } }); puoi quindi programmare questo lavoro per essere eseguito quotidianamente o settimanalmente utilizzando la sezione lavori in background del pannello di controllo di back4app passo 9 – integrazione dei webhook definizione i webhook consentono alla tua app back4app di notificare servizi esterni quando si verificano determinati eventi questo è utile per integrarsi con gateway di pagamento o piattaforme di analisi, espandendo i tuoi processi di sviluppo configurazione naviga a webhooks nel tuo dashboard di back4app aggiungi un nuovo webhook endpoint (ad esempio, https //your service com/webhook endpoint ) seleziona gli eventi che attivano il webhook (ad esempio, creazione o aggiornamenti di oggetti) puoi anche definire webhook nei trigger del cloud code come beforesave o aftersave per inviare dati a api esterne passo 10 – esplorare il pannello di amministrazione di back4app dove trovarlo l' app di amministrazione di back4app è un'interfaccia di gestione basata sul web consente al tuo team di eseguire operazioni crud, gestire dati e gestire attività quotidiane senza scrivere codice aggiuntivo questo può semplificare il tuo processo di sviluppo del backend python caratteristiche abilita l'app admin da app dashboard > altro > app admin e segui i passaggi crea il primo utente admin un nuovo ruolo ( b4aadminuser ) e classi vengono aggiunti automaticamente al tuo schema scegli un sottodominio per la tua interfaccia admin e finalizza poi accedi per utilizzare la tua nuova app admin l'app admin rende facile aggiornare o rimuovere record e gestire i tuoi dati con i giusti controlli di accesso, è sicuro condividerla con i project manager o gli stakeholder conclusione seguendo questa guida su come costruire un backend per python , hai creato un backend sicuro per applicazioni python su back4app configurato un database con schemi e relazioni flessibili implementato query in tempo reale per aggiornamenti istantanei dei dati (opzionale con live queries) applicato misure di sicurezza con acl e clp per proteggere i dati scritto cloud code in javascript per gestire la logica lato server, facilmente richiamabile da python impostato l'autenticazione degli utenti con verifica email e flussi di reset della password gestito caricamenti di file nel tuo codice python con sicurezza dei file opzionale pianificato lavori ricorrenti per compiti automatizzati integrato servizi esterni utilizzando webhook esplorato il pannello di amministrazione per la gestione dei dati e la collaborazione con una solida base di codice python e un robusto backend back4app, sei ora attrezzato per affrontare strutture dati avanzate, incorporare framework come django e flask, e persino integrare il machine learning python offre innumerevoli possibilità e combinarlo con back4app significa che puoi iterare rapidamente concentrandoti sulla logica aziendale principale piuttosto che sulla manutenzione del server prossimi passi costruisci un'app python pronta per la produzione perfezionando il tuo schema di database, aggiungendo caching e gestendo le ottimizzazioni delle prestazioni esplora funzionalità avanzate come il controllo degli accessi basato sui ruoli, il logging avanzato o la connessione a api di terze parti per l'analisi rivedi la documentazione ufficiale di back4app per approfondimenti su sicurezza, ottimizzazione delle prestazioni e analisi dei log sperimenta con strumenti come docker e kubernetes per containerizzare e scalare la tua applicazione secondo necessità sfruttando le potenti librerie di python e l'infrastruttura scalabile di back4app, puoi accelerare il tuo percorso di sviluppo backend con fiducia