Django - Gestione file

Sommario
All'interno delle applicazioni non sempre andremo a salvare elementi che sono specifici del Database, in questo caso ci riferiamo a file, come PDF, XLS, immagine, ecc. Ovviamente c'è la possibilità di salvare il file come binario nel Database, tuttavia, questa pratica non è adeguata, poiché genera un carico aggiuntivo per consultarli e visualizzarli, oltre a rendere difficile il processo di backup poiché rende un database di medie dimensioni dell'applicazione raggiunge un peso considerevole.
Per lui gestione dei file Django Ha un tipo speciale di campo, che quando lo si dichiara nel modello ci consente di accedere a diversi metodi che faciliteranno la gestione dei file nella nostra applicazione.
Campo FileField
Come accennato in precedenza, abbiamo un tipo specifico di campo con cui Django gestisce i file, detto tipo di campo è FileField, questo campo ha metodi specifici per archiviare i file e la loro elaborazione, abbiamo un tipo di campo che eredita gran parte della sua funzionalità da FileField, Questo è il Campo immagine, che come suggerisce il nome è speciale per la gestione delle immagini.
metodi
Di seguito descriveremo in modo semplice e dettagliato alcuni dei metodi più importanti che abbiamo nel tipo di campo FileField.
get_directory_name (self)
Questo metodo restituisce semplicemente il percorso relativo che verrà memorizzato nel Database insieme al nome del file, per impostazione predefinita questo metodo controlla l'attributo upload_to del campo per determinare la directory, anche le sottoclassi rispettano questo comportamento, tuttavia creando una sottoclasse possiamo determinare come viene utilizzato l'attributo
get_filename (self, nome file)
Questo metodo funziona in modo simile al precedente, tranne per il fatto che il suo focus cambia dal percorso al nome del file, quello che fa è ricevere il nome del file e trasformarlo nel modo in cui verrà memorizzato nel database , se abbiamo bisogno di fare qualsiasi personalizzazione Per cambiare il nome del file in una struttura specifica o generare una particolare estensione di file, quando creiamo una sottoclasse dobbiamo cercare questo metodo per apportare la modifica.
save_form_data (auto, istanza, dati)
Questo è un metodo di utilità che viene utilizzato per i moduli, tuttavia possiamo usarlo come scorciatoia per archiviare i file, per questo accetta l'istanza del modello, oltre alle informazioni del file, in questo modo il metodo estrae il informazioni necessarie per caricare il file.
delete_file (auto, istanza, mittente)
Questo metodo consente la cancellazione del file che abbiamo caricato in precedenza, sebbene sembri un modo semplice per gestire questo compito, in realtà è un meccanismo leggermente più complesso a causa dell'argomento mittente che ti aspetti come parametro, non è pensato per essere chiamato individualmente.
Vedremo un'immagine di come funziona questo metodo per avere una visione più chiara di ciò di cui stiamo parlando:

Con questo finiamo questo tutorial, grazie al quale abbiamo un'idea più chiara di come possiamo gestire i file nel modello in Django grazie al campo FileField e i suoi metodi.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo

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

wave wave wave wave wave