Django - failu pārvaldība

Satura rādītājs
Lietojumprogrammās mēs ne vienmēr saglabāsim datubāzei raksturīgus elementus, šajā gadījumā mēs atsaucamies uz failiem, piemēram, PDF, XLS, attēls utt. Protams, pastāv iespēja datu bāzē saglabāt failu kā bināru, taču šī prakse nav piemērota, jo tā rada papildu slodzi, lai tās apskatītu un parādītu, turklāt apgrūtinot dublēšanas procesu, jo tas apgrūtina vidēja lietojumprogrammu datu bāze sasniedz ievērojamu svaru.
Viņam failu pārvaldība Django Tam ir īpašs lauka veids, kas, deklarējot to modelī, ļauj mums piekļūt dažādām metodēm, kas atvieglos mūsu lietojumprogrammas failu apstrādi.
FileField lauks
Kā jau iepriekš minējām, mums ir noteikts lauka veids, ar kuru Django veic failu apstrādi, minētais lauka veids ir FileField, šim laukam ir īpašas metodes failu glabāšanai un to apstrādei, mums ir lauka tips, no kura tiek mantota liela daļa tā funkcionalitātes FileField, Tas ir ImageField, kas, kā norāda nosaukums, ir īpaša attēlu apstrādei.
Metodes
Tālāk mēs vienkāršā un detalizētā veidā aprakstīsim dažas no vissvarīgākajām lauka veida metodēm FileField.
get_directory_name (self)
Šī metode vienkārši atgriež relatīvo ceļu, kas tiks saglabāts datu bāzē kopā ar faila nosaukumu, pēc noklusējuma šī metode pārbauda atribūtu augšupielādēt_ no lauka, lai noteiktu direktoriju, pat apakšklases ievēro šo uzvedību, tomēr, izveidojot apakšklasi, mēs varam noteikt, kā atribūts tiek izmantots
get_filename (pats, faila nosaukums)
Šī metode darbojas līdzīgi kā iepriekšējā, izņemot to, ka tās fokuss mainās no ceļa uz faila nosaukumu, bet tiek saņemts faila nosaukums un pārveidots tā, kā tas tiks saglabāts datu bāzē , ja mums ir jāveic kāda pielāgošana Lai mainītu faila nosaukumu noteiktā struktūrā vai ģenerētu noteiktu faila paplašinājumu, veicot apakšklasi, šī izmaiņu veikšanai ir jāmeklē šī metode.
save_form_data (self, instance, data)
Šī ir lietderības metode, ko izmanto veidlapām, tomēr mēs varam to izmantot kā saīsni failu glabāšanai, jo tā papildus faila informācijai pieņem modeļa gadījumu, tādā veidā metode iegūst nepieciešamo informāciju, kas nepieciešama faila augšupielādēšanai.
delete_file (pats, piemēram, sūtītājs)
Šī metode ļauj dzēst iepriekš augšupielādēto failu, lai gan šķiet, ka tas ir vienkāršs veids, kā rīkoties ar šo uzdevumu, tas patiešām ir nedaudz sarežģītāks mehānisms argumenta dēļ sūtītājs ko jūs sagaidāt kā parametru, nav paredzēts izsaukt atsevišķi.
Mēs redzēsim attēlu, kā šī metode darbojas, lai iegūtu skaidrāku redzējumu par to, par ko mēs runājam:

Ar to mēs pabeidzam šo apmācību, pateicoties kurai mums ir skaidrāks priekšstats par to, kā mēs varam rīkoties ar modeļa failiem Django paldies laukam FileField un tās metodes.Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave