Flask Academy · leksjon

Definer en FlaskForm-klasse

Deklarer felt og validatorer i Python.

Leksjon 1 av 413 trinn

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-WTF

Arv 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):
    pass

Legg 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. ✨

Gratis å komme i gang

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

  1. Definer en FlaskForm-klasse
  2. Generer og send inn et skjema
  3. validate_on_submit og CSRF-tokener
  4. Egendefinerte validatorer og feltfeil
← Tilbake til Flask Academy