Django - MultiWidget

Innehållsförteckning
På tal om widgets, vi måste veta att dessa är en bro mellan HTML -kod och fälten Django; Dessa har mycket att göra med hur vi ska kontrollera beteendet hos HTML i våra formulär och därför i vår applikation.
Sådan är kontrollen, att vi kan tillämpa några programmeringstekniker där vi tillåter oss att lagra och bearbeta data av olika widgets och ge dem till Django som om det vore data från en enda källa.
Dela data mellan flera widgets
Funktionen för detta kan uppnås med render () metod av widget, då kan vi ha ett fält och vid bearbetning delar vi upp det i flera HTML -ingångar, var och en innehåller en del av värdet som vi behöver lagra.
ExempelEtt exempel kan vara fältet Datum Tidkan detta delas in i ett fält som bara fångar datumet och ett annat som fångar tiden, men när det lagras i Databas Vi borde gå med dem och på detta sätt har vi ett komplett fält men i användardelen är det uppdelat.
MultiWidget
Som exemplet som vi angav tidigare är det något ganska tråkigt eftersom vi skulle behöva ta hand om att skriva för många rutiner och metoder som hjälper oss med validering, i Django Detta är redan genomtänkt och vi har verktyg som gör en stor del av detta arbete för oss.
MultiValueFieldPå sidan av fälten har vi MultiValueField som hjälper oss med valideringen av data, dess rensning och jämförelse med vart och ett av fälten som utgör sammansättningen; Det enda vi behöver göra här är att ange vilka fält som kommer att göra kompositionen och hur vi måste komprimera dem så att de är användbara inom koden Pytonorm.
Denna metod är gjord för att fungera tillsammans med MultiWidget som kommer att ansvara för att översätta till HTML allt som vi tidigare har definierat i formulärklassen.
Låt oss se nedan en bild av en exempelkod där vi har implementerat dessa koncept:

FÖRSTORA

Här ser vi hur vi först har definierat en klass som ärver av MultiWidget, i det indikerar vi att vi kommer att ha två fält Mata in text medarbetare och upprätta en dekomprimera () metod som är den som kommer att skilja värdena för presentation.
I nästa klass satte vi lite fler element, först berättar vi för den att den ska ärva från MultiValueField då anger vi det widget du måste använda och naturligtvis kommer vi att berätta för dig att använda widgeten som redan definierats ovan.
Sedan i hans __init__ metod Vi anger vilka typer av fält det kommer att ta och slutligen definierar vi metoden komprimera (), vi ser att det förutom jaget också får en parameter data_list, i detta kommer vi att skicka listan över data som måste kombineras och returnera dem som en tupel, vi drar också nytta av att validera dem för att undvika att få felaktiga data som kan hota vår applikation.
Med detta avslutar vi denna handledning och ser hur vi har ett ganska avancerat verktyg som gör att vi kan anpassa våra formulär lite mer i vår applikation i bara enkla steg.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