Django - správa souborů

Obsah
V aplikacích nebudeme vždy ukládat prvky, které jsou specifické pro databázi, v tomto případě se odkazujeme na soubory, jako je PDF, XLS, obrázek atd. Samozřejmě existuje možnost uložit soubor jako binární soubor do databáze, tato praxe však není adekvátní, protože generuje další zátěž k jejich prohlížení a zobrazení, navíc ztěžuje proces zálohování, protože střední databáze aplikace dosahuje značné váhy.
Pro něj správa souborů Django Má speciální typ pole, které nám při deklaraci v modelu umožňuje přístup k různým metodám, které usnadní manipulaci se soubory v naší aplikaci.
Pole FileField
Jak jsme již zmínili, máme specifický typ pole, se kterým Django provádí zpracování souborů, uvedený typ pole je FileField, toto pole má specifické metody pro ukládání souborů a jejich zpracování, máme typ pole, ze kterého se dědí velká část jeho funkcí FileField, To je ImageField, což, jak naznačuje jeho název, je speciální pro manipulaci s obrázky.
Metody
Níže si jednoduchým a podrobným způsobem popíšeme některé z nejdůležitějších metod, které v daném oboru máme FileField.
get_directory_name (vlastní)
Tato metoda jednoduše vrací relativní cestu, která bude uložena v databázi spolu s názvem souboru, ve výchozím nastavení tato metoda kontroluje atribut nahrát_ do pole k určení adresáře, dokonce i podtřídy toto chování respektují, nicméně vytvořením podtřídy můžeme určit, jak se atribut používá
get_filename (self, název_souboru)
Tato metoda funguje podobným způsobem jako předchozí, kromě toho, že se její zaměření změní z cesty k názvu souboru, ale pouze získá název souboru a převede jej na způsob, jakým bude uložen v databázi. , pokud potřebujeme provést nějaké přizpůsobení Chcete -li změnit název souboru v konkrétní struktuře nebo vygenerovat konkrétní příponu souboru, musíme při vytváření podtřídy hledat tuto metodu, abychom provedli změnu.
save_form_data (vlastní, instance, data)
Toto je obslužná metoda, která se používá pro formuláře, ale můžeme ji použít jako zkratku pro ukládání souborů, proto k informacím o souboru akceptuje i instanci modelu, tímto způsobem metoda extrahuje potřebné informace, které jsou nutné k nahrání souboru.
delete_file (self, instance, sender)
Tato metoda umožňuje odstranění souboru, který jsme dříve nahráli, ačkoli se zdá, že je to jednoduchý způsob, jak tento úkol zvládnout, ve skutečnosti jde o trochu složitější mechanismus kvůli argumentu odesílatel který očekáváte jako parametr, není určen k tomu, aby byl volán jednotlivě.
Uvidíme obraz toho, jak tato metoda funguje, abychom získali jasnější představu o tom, o čem mluvíme:

Tímto ukončujeme tento tutoriál, díky kterému máme jasnější představu o tom, jak můžeme se soubory v modelu zacházet v Django díky oboru FileField a její metody.Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave