Django - Viste basate sulle funzioni

Sommario
Sebbene il termine vista possa essere interpretato in un modo, in Django Questo non è il classico concetto che usiamo per questo, ad esempio nella programmazione web molte volte il risultato che ci dà una vista dipende dalle azioni dell'utente, forse l'utente aggiorna un menu a tendina e cambia il senso totale della vista .
Quando cerchiamo di stabilire il concetto di vista, quello che vogliamo ottenere non è cercare di confrontarlo con il concetto che potremmo aver predefinito da altri ambienti MVC, una volta che abbiamo il concetto di vista di Django possiamo esprimerlo meglio ad altri sviluppatori.
Lo scheletro della vista
Se vediamo il corpo della vista e ne andiamo alle fondamenta, possiamo dire che una vista è una funzione che accetta una richiesta HTTPrestituisce una risposta HTTP, Potremmo dire che questo approccio è semplice, tuttavia se vediamo lo scopo della vista questo concetto lo soddisfa adeguatamente, ora che per raggiungere la semplicità di questi due elementi dobbiamo svolgere altre attività.
Viste generiche
La filosofia di Django ci dice che dobbiamo fare tutto il possibile affinché le nostre applicazioni siano riutilizzabili, semplici ed efficaci, il che significa che non possiamo sviluppare elementi ripetitivi, cioè scrivere lo stesso codice più e più volte poiché non ha senso, vediamo la seguente immagine:

In questo codice stiamo vedendo come costruiamo una funzione, questa funzione ci rappresenta una vista, tuttavia è lungi dall'essere una soluzione che soddisfa i punti del Filosofia Django, anche se è vero che il codice funziona e in molti casi farebbe più che bene il lavoro, immaginiamo che invece di dover fare solo quella vista dobbiamo fare 100 o 200 perché abbiamo un'applicazione di grandi proporzioni, dovrebbe ripetere questa logica più e più volte, generando lo stesso tipo di codice.
Se guardiamo il nome della vista, i parametri che chiama, inclusa la risposta che dà, che sta indirizzando a un URL predefinito dallo sviluppatore, tutto questo ci porta a una vista specifica e non generica.
Prima che possiamo preoccuparci, il framework ha già una soluzione a questo problema e non è niente di più e niente di meno che il viste generiche, queste sono viste già definite, non ci resta che unisciti a loro un modello, indica un modello e possiamo accedere a funzioni e metodi che fanno tutte le basi di cui abbiamo bisogno.
Vediamo il codice di questi viste generiche nell'immagine seguente:

Nell'esempio possiamo notare diversi punti interessanti, per prima cosa non limitiamo la funzione ad un unico modello, vediamo come utilizziamo la funzione model.get_default_manager con cui stabiliamo quale sia la chiave primaria del nostro modello, quindi restituiamo il nome del template che abbiamo ottenuto per primo come argomento della funzione.
Qui non abbiamo più limitazioni per codice, poiché questo viene fatto solo una volta e lo include Django, dobbiamo solo preoccuparci di integrare ciò che utilizzeremo, vediamo l'implementazione di una vista utilizzando questo approccio:

Nella nostra implementazione chiamiamo semplicemente la funzione show_object del vista classe, indichiamo quale modello utilizzerà e il nome del template, qualcosa di molto meno ripetitivo e più semplice dell'approccio non generico che abbiamo visto all'inizio.
Come possiamo vedere, abbiamo strumenti all'interno del framework che ci fanno risparmiare lavoro e possiamo anche rispettare una filosofia di sviluppo pulita ed efficiente riducendo il numero di righe di codice non necessarie che scriviamo.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo
wave wave wave wave wave