Django - failų valdymas

Turinys
Programose ne visada išsaugosime duomenų bazei būdingus elementus, šiuo atveju kalbame apie failus, pvz. PDF, XLS, vaizdas ir kt. Žinoma, yra galimybė duomenų bazėje išsaugoti failą kaip dvejetainę, tačiau ši praktika nėra tinkama, nes ji sukuria papildomą apkrovą juos peržiūrėti ir rodyti, be to, apsunkina atsarginės kopijos kūrimo procesą, nes tai apsunkina vidutinio dydžio duomenų bazė pasiekia didelį svorį.
Jam failų tvarkymas Django Jis turi specialaus tipo lauką, kurį deklaruodamas modelyje, galime pasiekti įvairius metodus, kurie palengvins mūsų programos failų tvarkymą.
„FileField“ laukas
Kaip minėjome anksčiau, turime tam tikrą lauko tipą, su kuriuo Django tvarko failus, nurodytas lauko tipas „FileField“, šiame lauke yra konkrečių failų ir jų apdorojimo saugojimo metodų, turime lauko tipą, iš kurio paveldima didelė jo funkcijų dalis „FileField“, Tai yra „ImageField“, kuris, kaip rodo jo pavadinimas, yra ypatingas vaizdams tvarkyti.
Metodai
Toliau paprastai ir išsamiai aprašysime kai kuriuos svarbiausius metodus, kuriuos turime tam tikros rūšies srityje „FileField“.
get_directory_name (save)
Šis metodas tiesiog grąžina santykinį kelią, kuris bus saugomas duomenų bazėje kartu su failo pavadinimu, pagal numatytuosius nustatymus šis metodas tikrina atributą upload_to lauke, kad būtų galima nustatyti katalogą, net poklasiai gerbia šį elgesį, tačiau sudarydami poklasį galime nustatyti, kaip naudojamas atributas
get_filename (aš, failo pavadinimas)
Šis metodas veikia panašiai kaip ir ankstesnis, išskyrus tai, kad jo dėmesys pasikeičia nuo kelio iki failo pavadinimo, jis gauna failo pavadinimą ir paverčia jį tokiu, kaip jis bus saugomas duomenų bazėje , jei turime atlikti kokius nors pritaikymus Norėdami pakeisti konkrečios struktūros failo pavadinimą arba sugeneruoti tam tikrą failo plėtinį, atlikdami poklasį turime ieškoti šio pakeitimo metodo.
save_form_data (save, egzempliorių, duomenis)
Tai yra naudingas metodas, naudojamas formoms, tačiau mes galime jį naudoti kaip spartųjį klavišą failams saugoti, nes jis, be failo informacijos, priima modelio pavyzdį, tokiu būdu metodas išskiria reikiama informacija, reikalinga failui įkelti.
delete_file (savarankiškai, egzempliorius, siuntėjas)
Šis metodas leidžia ištrinti failą, kurį anksčiau įkėlėme, nors atrodo, kad tai paprastas būdas išspręsti šią užduotį, tačiau tai yra šiek tiek sudėtingesnis mechanizmas dėl argumento siuntėjas kurio tikitės kaip parametras, nėra skirtas skambinti atskirai.
Mes pamatysime šio metodo veikimo vaizdą, kad gautume aiškesnę viziją apie tai, apie ką kalbame:

Tuo baigiame šią mokymo programą, kurios dėka turime aiškesnę idėją, kaip galime tvarkyti modelio failus Django lauko dėka „FileField“ ir jo metodai.Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave