Django - Managementul fișierelor

Cuprins
În cadrul aplicațiilor nu vom salva întotdeauna elemente specifice bazei de date, în acest caz ne referim la fișiere, cum ar fi PDF, XLS, imagine etc.. Desigur, există posibilitatea de a salva fișierul ca un binar în baza de date, cu toate acestea, această practică nu este adecvată, deoarece generează o încărcare suplimentară pentru a le consulta și a le afișa, pe lângă faptul că îngreunează procesul de backup, deoarece face o baza de date de dimensiuni medii a aplicației atinge o greutate considerabilă.
Pentru el gestionarea fișierelor Django Are un tip special de câmp, care atunci când îl declarăm în model ne permite să accesăm diferite metode care vor facilita manipularea fișierelor din aplicația noastră.
Câmp FileField
După cum am menționat anterior, avem un anumit tip de câmp cu care Django gestionează fișierele, respectivul tip de câmp este FileField, acest câmp are metode specifice de stocare a fișierelor și procesarea acestora, avem un tip de câmp care moștenește o mare parte din funcționalitatea sa FileField, Acesta este ImageField, care, după cum sugerează și numele său, este special pentru manipularea imaginilor.
Metode
Mai jos vom descrie într-un mod simplu și detaliat câteva dintre cele mai importante metode pe care le avem în tipul de câmp FileField.
get_directory_name (auto)
Această metodă returnează pur și simplu calea relativă care va fi stocată în baza de date împreună cu numele fișierului, implicit această metodă verifică atributul upload_to a câmpului pentru a determina directorul, chiar și subclasele respectă acest comportament, totuși, făcând o subclasă putem determina modul în care este utilizat atributul
get_filename (auto, nume de fișier)
Această metodă funcționează în mod similar cu cea precedentă, cu excepția faptului că focalizarea sa se schimbă de la calea la numele fișierului, ceea ce face este să primească numele fișierului și să îl transforme în modul în care va fi stocat în baza de date , dacă trebuie să facem orice personalizare Pentru a schimba numele fișierului într-o anumită structură sau pentru a genera o anumită extensie de fișier, atunci când facem o subclasă trebuie să căutăm această metodă pentru a face modificarea.
save_form_data (auto, instanță, date)
Aceasta este o metodă de utilitate care este utilizată pentru formulare, cu toate acestea o putem folosi ca o comandă rapidă pentru a stoca fișierele, pentru aceasta acceptă instanța modelului, pe lângă informațiile fișierului, în acest mod metoda extrage informațiile necesare care necesită încărcarea fișierului.
delete_file (auto, instanță, expeditor)
Această metodă permite ștergerea fișierului pe care l-am încărcat anterior, deși pare a fi o modalitate simplă de a gestiona această sarcină, este într-adevăr un mecanism puțin mai complex datorită argumentului expeditor pe care îl așteptați ca parametru, nu este menit să fie apelat individual.
Vom vedea o imagine a modului în care funcționează această metodă pentru a obține o viziune mai clară despre ceea ce vorbim:

Cu aceasta încheiem acest tutorial, datorită căruia avem o idee mai clară despre modul în care putem gestiona fișierele din model în Django datorită câmpului FileField și metodele sale.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave