Sadržaj
Kad smo već kod widgete, moramo znati da su to most između HTML kod i polja od Django; To ima mnogo veze s načinom na koji ćemo kontrolirati ponašanje HTML -a u našim oblicima, a time i u našoj aplikaciji.Takva je kontrola, da možemo primijeniti neke tehnike programiranja u kojima ćemo si dopustiti pohranu i obradu podataka različitih widgeta i dati im Django kao da se radi o podacima iz jednog izvora.
Podijelite podatke na više widgeta
To se može postići korištenjem render () metoda od widget, tada možemo imati polje i pri obradi ga dijelimo na nekoliko HTML ulaza, od kojih svaki sadrži dio vrijednosti koji trebamo pohraniti.
PrimjerPrimjer može biti polje Datum vrijeme, ovo se može podijeliti na polje koje bilježi samo datum i drugo koje bilježi vrijeme, ali kada je pohranjeno u Baza podataka Trebali bismo im se pridružiti i na ovaj način imamo kompletno polje, ali u korisničkom dijelu je podijeljeno.
MultiWidget
Kao primjer koji smo prethodno naveli, to je nešto prilično dosadno jer bismo se morali pobrinuti da napišemo previše rutina i metoda koje nam pomažu u provjeri valjanosti, Django O tome je već razmišljano i imamo komunalne usluge koje za nas obavljaju veliki dio posla.
MultiValueFieldSa strane polja imamo MultiValueField to nam pomaže pri provjeri valjanosti podataka, njihovom čišćenju i usporedbi sa svakim od polja koja čine spoj; Jedino što ovdje moramo učiniti je naznačiti koja su polja koja će činiti kompoziciju i kako ih moramo komprimirati kako bi bili upotrebljivi u kodu Piton.
Ova je metoda napravljena da radi zajedno s MultiWidget koji će biti zadužen za prevođenje u HTML svega što smo prethodno definirali u klasi forme.
Pogledajmo ispod sliku primjera koda u kojem smo implementirali ove koncepte:
POVEĆAJTE
Ovdje vidimo kako smo prvo definirali klasu koja nasljeđuje od MultiWidget, u njemu označavamo da ćemo imati dva polja InputText suradnici i uspostaviti a decompress () metoda koji će odvojiti vrijednosti za prezentaciju.U sljedećoj klasi postavljamo malo više elemenata, prvo joj kažemo da bi trebala naslijediti iz MultiValueField onda to ukazujemo widget morate koristiti i naravno reći ćemo vam da koristite već definirani widget.
Zatim u svom __init__ metoda Navodimo vrste polja koja će zauzeti i na kraju definiramo metodu oblog (), vidimo da osim sebe prima i parametar data_list, u ovome ćemo proslijediti popis podataka koji se moraju kombinirati i vratiti ih kao hrpu, također koristimo njihovu provjeru kako bismo izbjegli primanje pogrešnih podataka koji bi mogli ugroziti našu aplikaciju.
Ovim završavamo ovaj vodič gledajući kako imamo prilično napredan alat koji nam omogućuje da prilagodimo svoje obrasce u našoj aplikaciji u samo jednostavnim koracima.Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod