Django - MultiWidget

Innholdsfortegnelse
Apropos widgets, må vi vite at disse er en bro mellom HTML -kode og feltene til Django; Disse har mye å gjøre med måten vi skal kontrollere oppførselen til HTML i skjemaene våre og derfor i applikasjonen vår.
Slik er kontrollen, at vi kan bruke noen programmeringsteknikker der vi lar oss lagre og behandle data av forskjellige widgets og gi dem til Django som om det var data fra en enkelt kilde.
Del data mellom flere widgets
Driften av dette kan oppnås ved hjelp av render () metode av widget, så kan vi ha et felt, og når vi behandler det, deler vi det inn i flere HTML -innganger, som hver inneholder et stykke av verdien vi må lagre.
EksempelEt eksempel kan være feltet Dato tid, kan dette deles inn i et felt som bare fanger opp datoen og et annet som fanger tiden, men når den er lagret i Database Vi burde bli med dem, og på denne måten har vi et komplett felt, men i brukerdelen er det delt.
MultiWidget
Som eksemplet som vi angav tidligere, er det noe ganske kjedelig siden vi måtte ta vare på å skrive for mange rutiner og metoder som hjelper oss med validering, i Django Dette er allerede gjennomtenkt, og vi har verktøy som gjør en stor del av dette arbeidet for oss.
MultiValueFieldPå siden av feltene vi har MultiValueField som hjelper oss med validering av data, rensing og sammenligning med hvert av feltene som utgjør sammensetningen; Det eneste vi må gjøre her er å angi hvilke felt som vil gjøre sammensetningen og hvordan vi må komprimere dem slik at de er brukbare innenfor koden Python.
Denne metoden er laget for å fungere sammen med MultiWidget som skal stå for oversettelsen til HTML av alt vi tidligere har definert i formklassen.
La oss se nedenfor et bilde av en eksempelkode der vi har implementert disse konseptene:

FORSTØRRE

Her ser vi hvordan vi først har definert en klasse som arver av MultiWidget, i den indikerer vi at vi skal ha to felt InputText medarbeidere og etablere en dekomprimere () -metoden som er den som vil skille verdiene for presentasjon.
I neste klasse setter vi litt flere elementer, først forteller vi den at den skal arve fra MultiValueField så indikerer vi det widget du må bruke, og selvfølgelig skal vi fortelle deg å bruke widgeten som allerede er definert ovenfor.
Deretter i hans __init__ metode Vi angir hvilke felt det vil ta, og til slutt definerer vi metoden komprimere (), vi ser at den bortsett fra jeget også mottar en parameter data_list, i dette skal vi passere listen over data som må kombineres og returnere dem som en tupel, vi benytter oss også av å validere dem for å unngå å motta feilaktige data som kan true vår søknad.
Med dette fullfører vi denne opplæringen og ser hvordan vi har et ganske avansert verktøy som lar oss tilpasse skjemaene våre litt mer i applikasjonen vår i enkle trinn.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave