Obsah
Máme velký výběr typy polí když pracujeme s formuláři v DjangoPřichází však doba, kdy potřebujeme ověření nebo definovat nové chování, a proto můžeme svá pole bez problémů přizpůsobit pomocí metod Django.formy.Výhodou práce s vlastními poli ve formulářích je, že si nemusíme dělat starosti s jejich kompatibilitou s více backendů jako bychom se měli znepokojovat, když v modelu vytvoříme nový typ pole.
Vlastní pole
A vlastní pole ve formuláři nám umožňuje generovat podporu pro typy zadávání dat, které ve velkém počtu možností, které nám nabízí, neexistují DjangoDíky tomu můžeme dosáhnout personalizovanějších výsledků, které naší aplikaci pomohou lépe dosáhnout našich cílů.
Jak je vytvořit?K vytvoření vlastního pole to musí být zdědit třídy Pole obsaženo v Django.formy, tímto způsobem garantujeme jeho správné fungování v rámci formuláře; Dalším aspektem, který jsme již zmínili, je to, že tento typ pole je snadněji implementovatelný, protože nemusíme brát v úvahu práci s různými backendy, tj. S více databázemi, jako by to bylo v modelu, je to proto, že pouze vyhodnotíme data typu řetězce ve formuláři, když uživatel zadává data.
Validace
To je možná základní aspekt při generování nových polí, protože při definování typu validace můžeme určit typ pole, protože validace dá danému poli jedinečný charakter.
Jak zahrnout ověření?Abychom mohli zahrnout ověření, musíme se uchýlit metoda clean (), tato metoda přijímá předmět třídy a hodnotu při hodnocení, pak podle standardů, které jsme vytvořili, je tato metoda schopna rozlišovat mezi zadanými údaji a tím, zda jsou v souladu s naší validací, pokud ne, bude schopen vyvolat výjimku a odeslat chybovou zprávu, kterou jsme nastavili.
Podívejme se na následujícím obrázku na kód, kde jsou generovány dva nové typy vlastních polí:
Zde vidíme, jak aplikujeme vše, o čem jsme mluvili, nejprve to uděláme import z pole v rámci Django.formy protože je to třída, kterou musíme použít, vytvoříme třídu, která v tomto případě zdědí pole. Desetinné pole, to nám umožňuje pochopit, že naše nové pole bude číselné.
Poté definujeme chybu nazvanou mimo dosahTo nám pomáhá, když při ověřování dat vyvoláme výjimku, abychom mohli zobrazit zprávu, která uživatele provede; to nám dává možnost mít různé typy zpráv pro různé chyby.
DůležitéNakonec přepíšeme čistá metoda v každé nové třídě, abychom mohli zpracovat novou validaci, nejprve použijeme metodu super (). čisté () s tím volá metodu clean () třídy pole.DecimalFields tímto můžeme před vyhodnocením naší vlastní validace ověřit, že jsou správným číselným typem, což nám ušetří nutnost vyhledávat validaci typu zadávaných dat, zde je zaznamenána výhoda dědění.
Nakonec ověříme naše podmínky a pokud nejsou splněny, vyvoláme chybu; takže jsme již vytvořili vlastní pole.
Tímto ukončíme výukový program dalším nástrojem, který nám umožní vytvářet aplikace, které jsou blíže našim potřebám.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