Definer en FlaskForm-klasse
Deklarer felt og validatorer i Python.
Definer en FlaskForm-klasse er en gratis leksjon i Flask Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Flask Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Flask Academy inneholder totalt 4 leksjoner.
Hvorfor Flask-WTF
Det blir fort rotete å håndtere rå skjemadata manuelt. Flask-WTF lar Dem deklarere et skjema én gang som en Python-klasse og gjenbruke det overalt. 🎯
Installer utvidelsen
Flask-WTF pakker inn WTForms-biblioteket og legger til CSRF-beskyttelse. Installer det med pip før De skriver et eneste felt.
pip install Flask-WTFArv fra FlaskForm
Alle skjemaer De bygger, er klasser som arver fra FlaskForm. Basisklassen gir Dem CSRF og validering uten ekstra arbeid.
from flask_wtf import FlaskForm
class LoginForm(FlaskForm):
passLegg til det første feltet
Felt er klasseattributter som settes til feltobjekter. En StringField gjengis som et tekstfelt og lagrer det brukeren skriver inn.
from wtforms import StringField
class LoginForm(FlaskForm):
username = StringField('Username')Vanlige felttyper
WTForms leveres med mange felttyper. Bruk PasswordField, BooleanField eller SelectField, slik at hvert inndatafelt passer til dataene De forventer.
from wtforms import PasswordField, BooleanField
password = PasswordField('Password')
remember = BooleanField('Remember me')Gi feltene en etikett
Det første argumentet til et felt er feltets etikett. Det er denne teksten malen viser ved siden av inndatafeltet, så gjør den brukervennlig.
email = StringField('Email address')Knytt til validatorer
Send inn en liste med validators for å håndheve regler. DataRequired avviser en tom innsending før visningen i det hele tatt kjører.
from wtforms.validators import DataRequired
username = StringField('Username', validators=[DataRequired()])Kombiner flere regler
Validatorer kjører i rekkefølge, så De kan kombinere dem. Krev en verdi, og kontroller deretter lengden – alt i samme felt.
from wtforms.validators import DataRequired, Length
name = StringField('Name', validators=[DataRequired(), Length(min=2, max=40)])Legg til en send-knapp
Et SubmitField blir til skjemaets knapp. Når De inkluderer den i klassen, holdes hele skjemadefinisjonen samlet på ett ryddig sted.
from wtforms import SubmitField
submit = SubmitField('Log in')En komplett skjemaklasse
Sett delene sammen, så har De en gjenbrukbar og selvvaliderende skjemaklasse som kan opprettes i hvilken som helst visning.
class LoginForm(FlaskForm):
username = StringField('Username', validators=[DataRequired()])
password = PasswordField('Password', validators=[DataRequired()])
submit = SubmitField('Log in')Opprett en instans i en visning
Inne i en visning oppretter De ganske enkelt en instans. Skjemaobjektet inneholder deretter feltene, dataene og feilene for forespørselen.
@app.route('/login')
def login():
form = LoginForm()
return render_template('login.html', form=form)Rask kontroll
Hvilken basisklasse skal Flask-WTF-skjemaene Deres arve fra?
Oppsummering
De definerte et skjema som en klasse: arvet fra FlaskForm, la til typede felt med etiketter og validatorer, og avsluttet med en send-knapp. Gjenbrukbart og ryddig. ✨
Lær deg Python med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 30
- Leksjoner
- 120
Ofte stilte spørsmål
Er leksjonen «Definer en FlaskForm-klasse» gratis?
Ja – hele teksten i «Definer en FlaskForm-klasse» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Flask Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Flask Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Definer en FlaskForm-klasse»?
Deklarer felt og validatorer i Python. Du øver på Flask Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Flask Academy?
Ingen tidligere erfaring er nødvendig. Flask Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «Definer en FlaskForm-klasse»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Flask Academy-leksjonen?
Ja. Alle Flask Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Definer en FlaskForm-klasse
- Generer og send inn et skjema
- validate_on_submit og CSRF-tokener
- Egendefinerte validatorer og feltfeil