0Pricing
Flask Academy · Lezione

Definire una classe FlaskForm

Dichiari campi e validator in Python.

Definire una classe FlaskForm è una lezione Flask Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Flask Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Flask Academy include 4 lezioni in totale.

Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.

Why Flask-WTF

Handling raw form data by hand gets messy fast. Flask-WTF lets you declare a form once as a Python class and reuse it everywhere. 🎯

Install the Extension

Flask-WTF wraps the WTForms library and adds CSRF protection. Install it with pip before you write a single field.

pip install Flask-WTF

Subclass FlaskForm

Every form you build is a class that inherits from FlaskForm. That base class gives you CSRF and validation for free.

from flask_wtf import FlaskForm

class LoginForm(FlaskForm):
    pass

Add Your First Field

Fields are class attributes set to field objects. A StringField renders as a text input and stores whatever the user types.

from wtforms import StringField

class LoginForm(FlaskForm):
    username = StringField('Username')

Common Field Types

WTForms ships many field types. Reach for PasswordField, BooleanField, or SelectField so each input matches the data you expect.

from wtforms import PasswordField, BooleanField

password = PasswordField('Password')
remember = BooleanField('Remember me')

Give Fields a Label

The first argument to a field is its label. That text is what your template shows next to the input, so make it human-friendly.

email = StringField('Email address')

Attach Validators

Pass a validators list to enforce rules. DataRequired refuses an empty submission before your view ever runs.

from wtforms.validators import DataRequired

username = StringField('Username', validators=[DataRequired()])

Stack Multiple Rules

Validators run in order, so you can stack them. Require a value, then check its length, all in one field.

from wtforms.validators import DataRequired, Length

name = StringField('Name', validators=[DataRequired(), Length(min=2, max=40)])

Add a Submit Button

A SubmitField becomes the form button. Including it in the class keeps the whole form definition in one tidy place.

from wtforms import SubmitField

submit = SubmitField('Log in')

A Complete Form Class

Put the pieces together and you have a reusable, self-validating form class ready to instantiate in any view.

class LoginForm(FlaskForm):
    username = StringField('Username', validators=[DataRequired()])
    password = PasswordField('Password', validators=[DataRequired()])
    submit = SubmitField('Log in')

Instantiate in a View

Inside a view you simply create an instance. The form object then carries the fields, data, and errors for that request.

@app.route('/login')
def login():
    form = LoginForm()
    return render_template('login.html', form=form)

Quick Check

Which base class should your Flask-WTF forms inherit from?

Recap

You defined a form as a class: subclass FlaskForm, add typed fields with labels and validators, and finish with a submit button. Reusable and clean. ✨

Domande Frequenti

La lezione «Definire una classe FlaskForm» è gratuita?

Sì — il testo completo di «Definire una classe FlaskForm» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Flask Academy, passa a CoddyKit PRO. Il corso Flask Academy include 4 lezioni in totale.

Cosa imparerò in «Definire una classe FlaskForm»?

Dichiari campi e validator in Python. Eserciti Flask Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Flask Academy?

Non è richiesta alcuna esperienza precedente. Flask Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Definire una classe FlaskForm»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Flask Academy?

Sì. Ogni lezione Flask Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Definire una classe FlaskForm
  2. Renderizzare e inviare un form
  3. validate_on_submit e token CSRF
  4. Validator personalizzati ed errori dei campi
← Torna a Flask Academy