Django - MultiWidget

Obsah
Když už mluvíme o widgety, musíme vědět, že se jedná o most mezi HTML kód a pole Django; Ty mají hodně do činění se způsobem, jakým budeme řídit chování HTML v našich formulářích, a tedy i v naší aplikaci.
Taková je kontrola, že můžeme použít některé programovací techniky, ve kterých si dovolíme ukládat a zpracovávat data různých widgetů a dát jim Django jako by to byla data z jednoho zdroje.
Rozdělte data mezi více widgetů
Fungování tohoto lze dosáhnout pomocí metoda render () z widget, pak můžeme mít pole a při jeho zpracování jej rozdělíme na několik HTML vstupů, z nichž každý obsahuje kousek hodnoty, kterou potřebujeme uložit.
PříkladPříkladem může být pole Čas schůzkyToto by mohlo být rozděleno na pole, které zachycuje pouze datum a další, které zachycuje čas, ale když je uloženo v Databáze Měli bychom se k nim připojit a tímto způsobem máme úplné pole, ale v uživatelské části je rozděleno.
MultiWidget
Jako příklad, který jsme uvedli dříve, je to něco docela únavného, ​​protože bychom se museli starat o psaní příliš mnoha rutin a metod, které nám pomáhají s validací, v Django Toto již bylo promyšleno a máme nástroje, které pro nás dělají velkou část této práce.
Pole MultiValueFieldNa straně polí máme Pole MultiValueField to nám pomáhá s validací dat, jejich čištěním a porovnáváním s každým z polí, která tvoří sloučeninu; Jediné, co zde musíme udělat, je určit, která pole tvoří kompozici a jak je musíme komprimovat, aby byla použitelná v kódu. Krajta.
Tato metoda funguje ve spojení s MultiWidget kdo bude mít na starosti překlad do HTML všeho, co jsme dříve definovali ve třídě formulářů.
Podívejme se níže na obrázek ukázkového kódu, kde jsme implementovali tyto koncepty:

ZVĚTŠIT

Zde vidíme, jak jsme nejprve definovali třídu, která dědí z MultiWidget, v něm naznačujeme, že budeme mít dvě pole Vstupní text společníci a založit a metoda dekomprese () který oddělí hodnoty pro prezentaci.
V další třídě nastavíme trochu více prvků, nejprve řekneme, že by měla dědit Pole MultiValueField pak to naznačíme widget musíte použít, a samozřejmě vám řekneme, abyste používali již definovaný widget.
Pak v jeho __init__ metoda Udáváme typy polí, která to zabere, a nakonec definujeme metodu komprimovat (), vidíme, že kromě sebe také dostává parametr seznam_datV tomto předáme seznam údajů, které je třeba zkombinovat, a vrátíme je jako řazené kolekce členů, využijeme také jejich ověření, abychom se vyhnuli přijímání chybných dat, která by mohla ohrozit naši aplikaci.
Tím tento tutoriál dokončujeme a zjišťujeme, jak máme poměrně pokročilý nástroj, který nám umožňuje jednoduché přizpůsobení formulářů v naší aplikaci v jednoduchých krocích.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