Django - formos

Turinys
Naudotojų duomenų fiksavimas yra labai svarbus žiniatinklio programoms, šis fiksavimas gali būti iš anksto nustatyti duomenys, pvz., Reikšmės pasirinkite laukus arba radijo mygtukai, nes tai taip pat gali būti atviras tekstas, pvz., įvesties tekstas arba teksto sritis, kai tikimės šiek tiek išsamesnės informacijos.
Visi šie duomenų fiksavimo būdai turi bendrą bruožą, be to, kad jie yra HTML elementai, kad jie turi būti formos viduje, o forma yra talpykla, kurioje dedame elementus, fiksuojančius vartotojo duomenis, ir tada galime juos siųsti HTTP GET metodai arba POST pastarasis yra dažniausiai naudojamas.
Mūsų formos laukai
The formos generavimas Django Tai labai panašu į modelio generavimą, nes taip pat naudojama deklaratyvi forma, su kuria kiekvieną elementą priskiriame kaip formos klasės atributą.
PrisimintiNepaisant minėto panašumo, modeliai ir formos turi keletą svarbių skirtumų, vienas iš jų yra tas, kad jie skiriasi tuo, kaip gali rasti ir atpažinti laukus, pavyzdžiui, modelis patikrina, ar atributas turi prisidėti_klasės () metodas, vietoj to forma ieško, ar atributas iš tikrųjų yra laukas, ir ne tik patikrina, ar tai yra egzempliorius Django.forms.fields.Field.
Formų generavimas
Norėdami sukurti formą, pirmiausia turime sukurti klasę, kurioje ji bus, mes padarysime savo formos klasę formos modulis ir pridedame jį į naują failą pavadinimu formos.py programos aplanke.
Viduje mes sukursime „Meta“ klasę, šioje klasėje nurodysime, kuriam modeliui bus taikoma mūsų forma, tada, mūsų nuomone, nurodysime formos klasę ir galiausiai ištuštinsime programos šabloną. Toliau pateiktame paveikslėlyje pamatysime formos klasę:

SvarbuKaip matome importuojame formų komponentą Y taip pat importuojame savo programos modelį, tokiu būdu mes galime jį naudoti deklaruojant formos klasę. Kai tai bus padaryta, pereisime prie rodinio, kuriame atitinkamai klasei turime nurodyti, kad ji turėtų naudoti šią formą. Pažiūrėkime paveikslėlyje tai:

Šis požiūris atitinka a Vaizdas pagal klasęTeoriškai mums nereikia deklaruoti formos, tačiau mūsų programai gali prireikti pasirinktinės formos, kurioje būtų mažiau laukų, o gal ir papildomų laukų.
Paskutinis žingsnis yra parodyti formą atitinkamame šablone, tam mes naudosime formos kontekstinis kintamasis kad būtų galima spausdinti laukus. Šiame kode galime pamatyti, ką turime omenyje:

DIDELIS

Matome, kad formą apibrėžiame HTML kodas ir viduje praleidome formos kontekstas, to pakanka, kad būtų sugeneruoti atitinkami laukai, kitas aspektas, į kurį turime atsižvelgti, yra entipas, jei mūsų forma gaus failą, turime įdėti kelių dalių / formos duomenys.Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką
wave wave wave wave wave