Django - Formularer

Indholdsfortegnelse
Optagelse af brugerdata er afgørende for webapplikationer, denne optagelse kan være foruddefinerede data, såsom værdier i vælg felter eller radioknapper, da det også kan være åben tekst såsom inputtekst eller tekstområde, når vi forventer lidt mere omfattende information.
Fælles for alle disse måder at indsamle data på, bortset fra at de er HTML -elementer, er at de skal være inde i en formular, en formular er en beholder, hvor vi placerer elementer, der fanger brugerdata, og så kan vi sende det igennem det HTTP GET -metoder eller STOLPE sidstnævnte er den mest brugte.
Felterne i vores form
Det generation af en form i Django Det ligner meget generationen af ​​en model, det er fordi det også gør brug af den deklarative form, som vi tildeler hvert element som en attribut for formklassen.
HuskPå trods af den førnævnte lighed har modeller og former nogle vigtige forskelle, en af ​​dem er, at de adskiller sig i måden, de kan finde og genkende felter på, for eksempel kontrollerer en model, om en attribut har en contrib_to_class () metode, i stedet søger formularen, om attributten faktisk er et felt, og derefter kontrollerer den, om den er en forekomst af Django.forms.felter.Felt.
Formgenerering
For at generere en formular skal vi først oprette den klasse, der skal indeholde den, vi gør vores formularklasse til en underklasse af formular modul og vi tilføjer det i en ny fil kaldet forms.py inde i applikationsmappen.
Inde i dette vil vi oprette en Meta -klasse, inden for denne klasse vil vi angive hvilken model vores formular vil referere til, så efter vores opfattelse vil vi angive formklassen og til sidst vil vi tømme applikationsskabelonen. Lad os se en formklasse på følgende billede:

VigtigSom vi ser vi importerer formularkomponenten Y vi importerer også modellen af ​​vores applikation, på denne måde kan vi bruge det, når vi erklærer formklassen. Når dette er gjort, går vi til visningen, hvor vi skal angive for den tilsvarende klasse, at den skal bruge denne formular. Lad os se på billedet dette:

Denne opfattelse svarer til en Klassebaseret visningI teorien behøver vi ikke at erklære en formular, men vores ansøgning kan kræve en brugerdefineret formular, der viser færre felter, eller måske viser den yderligere felter.
Det sidste trin er at vise formularen i den tilsvarende skabelon, til dette vil vi bruge form kontekst variabel for at kunne udskrive felterne. I den følgende kode kan vi se, hvad vi mener:

FORSTØRRE

Vi ser, at vi definerer formen med HTML -kode og indeni brugte vi form kontekst, dette er nok til, at de tilsvarende felter kan genereres, et andet aspekt, som vi skal tage højde for, er enctype, hvis vores formular vil modtage en fil, skal vi placere multipart / form-data.Kan du lide og hjælpe denne vejledning?Du kan belønne forfatteren ved at trykke på denne knap for at give ham et positivt punkt
wave wave wave wave wave