Django - Filhantering

Innehållsförteckning
Inom applikationerna kommer vi inte alltid att spara element som är specifika för databasen, i det här fallet hänvisar vi till filer, t.ex. PDF, XLS, bild, etc.. Naturligtvis finns det möjlighet att spara filen som en binär i databasen, men denna praxis är inte tillräcklig, eftersom det genererar en extra belastning för att konsultera och visa dem, förutom att göra säkerhetskopieringen svår eftersom det gör en applikation medelstor databas når betydande vikt.
För honom filhantering Django Den har en speciell typ av fält, som när vi deklarerar det i modellen ger oss tillgång till olika metoder som underlättar hanteringen av filerna i vår applikation.
FileField -fält
Som vi nämnde tidigare har vi en specifik typ av fält som Django gör filhantering, nämnda fälttyp är FileField, detta fält har specifika metoder för att lagra filer och deras behandling, vi har en fälttyp som ärver mycket av dess funktionalitet från FileField, Det här är ImageField, som namnet antyder är speciellt för att hantera bilder.
Metoder
Nedan kommer vi på ett enkelt och detaljerat sätt att beskriva några av de viktigaste metoderna vi har inom typen av fält FileField.
get_directory_name (själv)
Denna metod returnerar helt enkelt den relativa sökvägen som kommer att lagras i databasen tillsammans med filnamnet, som standard kontrollerar denna metod attributet ladda upp till i fältet för att bestämma katalogen, respekterar även underklasserna detta beteende, men genom att göra en underklass kan vi avgöra hur attributet används
get_filename (själv, filnamn)
Denna metod fungerar på samma sätt som den föregående, förutom att dess fokus ändras från sökvägen till filnamnet, vad den gör är att ta emot namnet på filen och omvandla den till hur den kommer att lagras i databasen , om vi behöver göra någon anpassning För att ändra namnet på filen i en specifik struktur eller generera ett visst filtillägg, måste vi leta efter denna metod för att göra ändringen när vi gör en underklass.
save_form_data (själv, instans, data)
Detta är en verktygsmetod som används för formulär, men vi kan använda den som en genväg för att lagra filerna, för detta accepterar den förekomsten av modellen, förutom informationen om filen, på detta sätt extraherar metoden nödvändig information som krävs för att ladda upp filen.
delete_file (själv, instans, avsändare)
Denna metod gör det möjligt att radera filen som vi tidigare har laddat upp, även om det verkar vara ett enkelt sätt att hantera denna uppgif.webpt, är det verkligen en lite mer komplex mekanism på grund av argumentet avsändare som du förväntar dig som en parameter, är inte avsedd att kallas individuellt.
Vi kommer att se en bild av hur denna metod fungerar för att få en tydligare vision av vad vi pratar om:

Med detta avslutar vi denna handledning, tack vare vilken vi har en tydligare uppfattning om hur vi kan hantera filerna i modellen i Django tack vare fältet FileField och dess metoder.Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave