Quickstarters
Feature Overview
Come costruire un backend per Django?
40 min
introduzione in questo tutorial, imparerai come costruire un backend per django utilizzando la robusta piattaforma ai powered di back4app django è un framework web di alto livello che incoraggia uno sviluppo rapido del backend e un design pulito e pragmatico creeremo un backend scalabile e sicuro che si integra perfettamente con il tuo progetto django utilizzando back4app, puoi approfittare della gestione automatizzata del database, api potenti, archiviazione di file, autenticazione degli utenti, validazione dei dati, capacità in tempo reale e funzionalità di sicurezza avanzate vedrai come l'ambiente di back4app genera automaticamente l'infrastruttura del server, permettendoti di concentrarti sulla logica aziendale della tua app django questo approccio riduce i tempi di sviluppo eliminando la necessità di configurare manualmente server e database alla fine di questo tutorial, avrai una struttura robusta per le tue applicazioni web che può essere estesa con funzionalità più complesse, integrazioni e logica personalizzata requisiti un account back4app e un nuovo progetto back4app iniziare con back4app https //www back4app com/docs/get started/new parse app se non hai un account, puoi crearne uno gratuitamente segui la guida sopra per preparare il tuo progetto un progetto django configurato localmente assicurati di avere un ambiente django se stai partendo da zero, segui la documentazione ufficiale di django https //docs djangoproject com/en/4 2/intro/install/ conferma che le installed apps del tuo progetto e la base della struttura di views e templates siano pronte python 3 7+ installato avrai bisogno di un ambiente python moderno per la tua app django familiarità con l’ unhandled content type architettura model view di django e le operazioni crud di base se sei nuovo in django o hai bisogno di rinfrescarti, dai un'occhiata a la documentazione di django https //docs djangoproject com/en/4 2/ avere questi requisiti in atto garantirà un'esperienza più fluida mentre segui questo tutorial passo 1 – creare un nuovo progetto su back4app e connettersi perché hai bisogno di un progetto back4app un nuovo progetto su back4app è la spina dorsale dello sviluppo del tuo backend ti fornisce capacità del parse server, strumenti per il database e un'interfaccia di amministrazione potente questa struttura centrale ti consente di delegare la gestione del server e concentrarti sulla logica aziendale della tua app django crea un nuovo progetto accedi al tuo account back4app clicca sul pulsante “nuova app” nel tuo dashboard di back4app dai un nome alla tua app (ad esempio, “django backend tutorial”) una volta creata, la tua app apparirà nel tuo dashboard di back4app questo nuovo progetto è dove memorizzeremo i dati, gestiremo le regole di sicurezza e eseguiremo codice lato server per la tua app django installazione del parse python sdk per collegare il tuo progetto django a back4app, utilizzeremo il parse python sdk ti consente di gestire operazioni sui dati, autenticazione degli utenti, funzionalità in tempo reale e altro ancora all'interno del tuo codice python recupera le tue chiavi app nel dashboard di back4app, vai a impostazioni app o sicurezza e chiavi per trovare il tuo id applicazione e chiave client (o chiave rest ) e l' url del server parse (ad esempio, https //parseapi back4app com ) installa il sdk pip install parse rest inizializza parse nel tuo progetto django ad esempio, crea un nuovo file chiamato parse config py all'interno della directory principale della tua app django (la stessa cartella che contiene views py o models py ) \# parse config py from parse rest connection import register application id = "your application id" rest api key = "your rest api key" parse server url = "https //parseapi back4app com" \# register your app with parse register(application id, rest api key, master key=none, endpoint=parse server url) con questa configurazione, qualsiasi file nel tuo progetto django può importare parse config per garantire una connessione al tuo backend back4app ora puoi interrogare e salvare dati dal tuo codice django utilizzando il parse python sdk passo 2 – configurazione del database 1\ creazione di un modello di dati proprio come django utilizza i modelli per memorizzare i dati in un database relazionale, parse utilizza le classi per memorizzare gli oggetti puoi creare classi nel dashboard di back4app o definirle al volo nel dashboard di back4app naviga verso database clicca su crea una classe nominala (ad esempio, “todo”), poi aggiungi campi come title (stringa) e iscompleted (booleano) 2\ utilizzare l'agente ai per generare automaticamente un modello di dati l'agente ai di back4app può aiutarti a generare automaticamente uno schema apri l'agente ai nel tuo dashboard dell'app descrivi il tuo modello di dati (ad esempio, “uno schema di app todo con titolo, iscompleted e puntatore utente ”) lascia che l'agente ai lo costruisca per te questo può far risparmiare tempo, specialmente se la tua app django richiede relazioni complesse o una validazione avanzata dei dati 3\ leggere e scrivere dati utilizzando il parse sdk di seguito è riportato un esempio di creazione e interrogazione di un todo oggetto all'interno del tuo progetto django \# views py from parse config import from parse rest datatypes import object class todo(object) pass def create todo item(title, is completed=false) todo = todo(title=title, iscompleted=is completed) todo save() # this performs the crud operation to save data in back4app def get all todos() return todo query all() # retrieves all todo objects from back4app puoi chiamare queste funzioni dalle tue viste django o dalla shell questa configurazione funziona in tandem con la logica della tua app django, quindi il tuo framework web rimane completamente integrato con il backend parse 4\ lettura e scrittura di dati utilizzando l'api rest se preferisci rest, ecco come creare un todo oggetto 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 5\ lettura e scrittura di dati utilizzando l'api graphql back4app fornisce anche un graphql interfaccia ad esempio mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } questo è utile se desideri integrare le query graphql nelle tue viste django o microservizi come parte di un'architettura dati moderna 6\ lavorare con le query live (opzionale) per aggiornamenti in tempo reale, puoi abilitare le query live nel dashboard di back4app al momento, l'sdk ufficiale di parse per python potrebbe avere un supporto limitato per le query live tuttavia, puoi comunque iscriverti ai cambiamenti tramite websocket o altri approcci se necessario controlla la documentazione di back4app https //www back4app com/docs per gli ultimi aggiornamenti sulle query live in python passo 3 – applicare la sicurezza con acl e clp 1\ breve panoramica usa liste di controllo degli accessi (acl) e permessi a livello di classe (clp) per proteggere i tuoi dati le acl controllano i permessi di lettura/scrittura per oggetto, mentre i clp si applicano a un'intera classe 2\ passo dopo passo impostare i permessi a livello di classe vai alla sezione database in back4app scegli la classe (ad esempio, todo ) regola l'accesso lettura/scrittura o richiedi il login configurare le acl nel codice questo assicura che il tuo progetto django rispetti le stesse regole di sicurezza granulari impostate in back4app passo 4 – scrivere funzioni di cloud code 1\ perché cloud code con cloud code, esegui logica aziendale sul lato server ad esempio, puoi eseguire la validazione dei dati, integrare api esterne o attivare eventi prima di salvare i dati questo è un potente complemento per le tue viste e modelli django, permettendoti di centralizzare la logica avanzata in un unico posto 2\ funzione di esempio il cloud code è tipicamente scritto in javascript lo distribuisci su back4app e poi lo chiami dalla tua app django tramite il parse python sdk o richieste rest una funzione semplice // main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); 3\ distribuzione usa il back4app cli o dashboard distribuisci il tuo main js con funzioni cloud una volta distribuiti, diventano accessibili al tuo codice django tramite from parse config import import requests def call calculate text length(text) url = "https //parseapi back4app com/functions/calculatetextlength" headers = { "x parse application id" application id, "x parse rest api key" rest api key, "content type" "application/json" } payload = {"text" text} response = requests post(url, json=payload, headers=headers) return response json() 4\ npm se hai bisogno di moduli node esterni nel tuo cloud code, dichiarali nel package json back4app li installa automaticamente al momento della distribuzione passo 5 – configurazione dell'autenticazione 1\ abilitare o configurare l'autenticazione dell'utente per impostazione predefinita, parse include la user classe per le registrazioni e i login configura la verifica dell'email, il ripristino della password e altro nel dashboard di back4app 2\ esempi di codice django \# models py or a separate file from parse config import from parse rest user import user def register user(username, password, email) new user = user signup(username, password, email=email) return new user def login user(username, password) return user login(username, password) 3\ accesso sociale se hai bisogno di accessi tramite google, apple o facebook, configurali in impostazioni di autenticazione di back4app e segui le rispettive guide la tua app django può quindi collegare o accedere agli utenti chiamando i metodi parse pertinenti passo 6 – gestione dello storage dei file 1\ configurazione dello storage dei file back4app memorizza in modo sicuro i file caricati tramite il parse sdk puoi caricare da django inviando un file a un campo file di parse from parse rest datatypes import object, file class photo(object) pass def upload image(file path) with open(file path, 'rb') as f parse file = file(file path, f read()) photo = photo(imagefile=parse file) photo save() return photo 2\ esempio se desideri aggiungere immagini caricate dagli utenti, integra un \<input type="file"> nei tuoi template django, quindi gestisci il file in una funzione di vista che chiama upload image() 3\ considerazioni sulla sicurezza parse fornisce una configurazione che controlla chi può caricare file { "fileupload" { "enableforpublic" true, "enableforanonymoususer" true, "enableforauthenticateduser" true } } regola queste impostazioni per soddisfare le tue esigenze di sicurezza, assicurandoti che solo gli utenti fidati possano memorizzare e accedere a file sensibili passo 7 – verifica email e ripristino password 1\ panoramica l' interfaccia admin di django gestisce molte cose, ma per il tuo backend alimentato da parse, puoi anche abilitare la verifica email e il ripristino delle password è fondamentale per verificare utenti reali e fornire un percorso di recupero dell'account fluido 2\ configurazione del dashboard apri la tua app back4app abilita la verifica email in impostazioni app > impostazioni email personalizza i template email per adattarli al tuo branding 3\ codice/implementazione nella tua app django, potresti offrire un modulo per il ripristino della password quando un utente richiede un ripristino, chiama l'endpoint di ripristino della password di parse o il metodo python appropriato se supportato nel sdk passo 8 – pianificazione dei compiti con cloud jobs 1\ cosa fanno i cloud jobs i cloud jobs ti permettono di eseguire compiti automatizzati, come la pulizia dei dati obsoleti o la generazione di report questo completa i crontab o i celery workflow di django centralizzando i compiti nell'ambiente di back4app 2\ esempio // 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); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); dopo il deploy, programmarlo nel back4app dashboard sotto impostazioni del server > compiti in background per eseguirlo quotidianamente o settimanalmente passo 9 – integrazione dei webhook 1\ definizione i webhook ti permettono di inviare richieste http a servizi esterni quando si verificano determinati eventi nelle tue classi di back4app ad esempio, notifica un canale slack o un servizio di pagamento ogni volta che viene creato un nuovo record 2\ configurazione vai su altro > webhooks nel dashboard imposta il tuo endpoint esterno (ad esempio, un url nel tuo progetto django) definisci i trigger (come “oggetto creato” in todo ) 3\ esempio ogni volta che viene creato un nuovo todo, una richiesta post viene inviata all'endpoint della tua app django in django, analizzeresti i dati json e li gestiresti (ad esempio, registrazione o ulteriore elaborazione) passo 10 – esplorare il pannello di amministrazione di back4app 1\ dove trovarlo l' app di amministrazione di back4app si trova nella tua console sotto altro > app di amministrazione è un'interfaccia incentrata sul modello per gestire i tuoi dati senza scrivere codice 2\ caratteristiche database visualizza, modifica o elimina rapidamente i record log monitora errori o log di processo lavori in background gestisci i programmi dei tuoi cloud jobs analisi e push se rilevante per la tua app, accedi alle notifiche push e ai dati analitici questo è simile all' interfaccia di amministrazione di django, ma si concentra sul backend di parse conclusione seguendo questa guida, hai imparato come costruire un backend per django utilizzando back4app hai creato una struttura backend sicura e scalabile per la tua app django impostato un modello di dati, eseguito operazioni crud e sfruttato funzionalità in tempo reale implementato acl, clp e autenticazione degli utenti per una sicurezza di alto livello utilizzato cloud code per la logica aziendale, la convalida dei dati e integrazioni esterne archiviato file, programmato cloud jobs e configurato webhook per flussi di lavoro avanzati esplorato l'app admin di back4app per gestire i tuoi dati in modo efficace con questa base, puoi estendere con fiducia il tuo progetto django integra funzionalità avanzate, ottimizza le prestazioni e aggiungi logica personalizzata per gestire requisiti a livello aziendale continua a sperimentare con il parse python sdk per fornire potenti applicazioni web buon coding! prossimi passi costruisci un'app django pronta per la produzione con caching avanzato, ruoli utente e ottimizzazioni delle prestazioni sfrutta funzionalità più avanzate di back4app come analisi avanzate o controllo degli accessi basato sui ruoli impara dalla documentazione ufficiale di back4app per una conoscenza più approfondita di log, query in tempo reale e ottimizzazione dei dati esplora altri tutorial per vedere come puoi combinare le potenti “views e templates” di django con api esterne e m