Django - Filbehandling

Innholdsfortegnelse
I applikasjonene kommer vi ikke alltid til å lagre elementer som er spesifikke for databasen, i dette tilfellet refererer vi til filer, for eksempel PDF, XLS, bilde osv. Selvfølgelig er det mulighet for å lagre filen som en binær i databasen, men denne praksisen er ikke tilstrekkelig, siden det genererer en ekstra belastning for å konsultere og vise dem, i tillegg til å gjøre sikkerhetskopieringsprosessen vanskelig siden det gjør en applikasjon mellomstor database når betydelig vekt.
For han Filbehandling Django Den har en spesiell type felt, som når vi deklarerer det i modellen gir oss tilgang til forskjellige metoder som vil lette håndteringen av filene i applikasjonen vår.
FileField -feltet
Som vi nevnte før har vi en bestemt type felt som Django gjør filhåndtering, er felttypen FileField, dette feltet har spesifikke metoder for å lagre filer og behandling av dem, vi har en felttype som arver mye av funksjonaliteten fra FileField, Dette er ImageField, som navnet antyder er spesielt for håndtering av bilder.
Metoder
Nedenfor vil vi på en enkel og detaljert måte beskrive noen av de viktigste metodene vi har i typen felt FileField.
get_directory_name (selv)
Denne metoden returnerer ganske enkelt den relative banen som skal lagres i databasen sammen med filnavnet, som standard sjekker denne metoden attributtet upload_to i feltet for å bestemme katalogen, respekterer selv underklassene denne oppførselen, men ved å lage en underklasse kan vi bestemme hvordan attributtet brukes
get_filename (selv, filnavn)
Denne metoden fungerer på samme måte som den forrige, bortsett fra at fokuset endres fra banen til navnet på filen, det den gjør er å motta navnet på filen og transformere den til måten den vil bli lagret i databasen Hvis vi trenger å gjøre noen tilpasninger For å endre navnet på filen i en bestemt struktur eller generere en bestemt filtillegg, må vi se etter denne metoden for å gjøre endringen når vi lager en underklasse.
save_form_data (selv, forekomst, data)
Dette er en verktøymetode som brukes for skjemaer, men vi kan bruke den som en snarvei for å lagre filene, for dette godtar den forekomsten av modellen, i tillegg til informasjonen i filen, på denne måten trekker metoden ut nødvendig informasjon som kreves for å laste opp filen.
delete_file (selv, forekomst, avsender)
Denne metoden tillater sletting av filen vi tidligere har lastet opp, selv om det ser ut til å være en enkel måte å håndtere denne oppgaven på, er det virkelig en litt mer kompleks mekanisme på grunn av argumentet avsender som du forventer som en parameter, er ikke ment å bli kalt individuelt.
Vi kommer til å se et bilde av hvordan denne metoden fungerer for å få en klarere visjon om hva vi snakker om:

Med dette fullfører vi denne opplæringen, takket være hvilken vi har en klarere ide om hvordan vi kan håndtere filene i modellen i Django takk til feltet FileField og dens metoder.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave