Inhoudsopgave
Het vastleggen van gebruikersgegevens is van vitaal belang voor webapplicaties, deze vastlegging kan vooraf gedefinieerde gegevens zijn, zoals waarden in selecteer velden of Radio knoppen, omdat het ook open tekst kan zijn, zoals invoertekst of tekstgebied wanneer we iets uitgebreidere informatie verwachten.Wat al deze manieren om gegevens vast te leggen gemeen hebben, afgezien van het feit dat het HTML-elementen zijn, is dat ze in een formulier moeten staan. Een formulier is een container waarin we elementen plaatsen die gebruikersgegevens vastleggen en vervolgens kunnen we het door de HTTP GET-methoden of NA de laatste wordt het meest gebruikt.
De velden van ons formulier
De generatie van een formulier in Django Het lijkt erg op het genereren van een model, dit komt omdat het ook gebruik maakt van de declaratieve vorm waarmee we elk element toewijzen als een attribuut van de formulierklasse.
HerinnerenOndanks de bovengenoemde overeenkomst, hebben modellen en vormen enkele belangrijke verschillen, een daarvan is dat ze verschillen in de manier waarop ze velden kunnen vinden en herkennen, een model controleert bijvoorbeeld of een attribuut een bijdrage_aan_klasse () methode, in plaats daarvan zoekt het formulier of het attribuut inderdaad een veld is en verder controleert het of het een instantie is van Django.forms.fields.Field.
Vorm generatie
Om een formulier te genereren, moeten we eerst de klasse maken die het gaat bevatten, we maken van onze formulierklasse een subklasse van de formulier module en we voegen het toe in een nieuw bestand genaamd formulieren.py in de applicatiemap.
Hierin zullen we een Meta-klasse maken, binnen deze klasse zullen we aangeven naar welk model ons formulier zal verwijzen, vervolgens zullen we naar onze mening de formulierklasse aangeven en ten slotte zullen we de applicatiesjabloon leegmaken. Laten we in de volgende afbeelding een formulierklasse bekijken:
De laatste stap is om het formulier in het bijbehorende sjabloon te tonen, hiervoor gebruiken we de vorm contextvariabele om de velden te kunnen afdrukken. In de volgende code kunnen we zien wat we bedoelen:
VERGROTEN