0Pricing
Flask Academy · Aula

Defina uma classe FlaskForm

Declare campos e validadores em Python.

Defina uma classe FlaskForm é uma aula grátis de Flask Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Flask Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Flask Academy inclui 4 aulas no total.

Por que usar Flask-WTF

Lidar manualmente com dados brutos de formulários fica confuso rapidamente. Flask-WTF permite declarar um formulário uma vez como uma classe Python e reutilizá-lo em qualquer lugar. 🎯

Instalar a extensão

Flask-WTF envolve a biblioteca WTForms e adiciona proteção contra CSRF. Instale-o com pip antes de escrever um único campo.

pip install Flask-WTF

Criar uma subclasse de FlaskForm

Todo formulário que você cria é uma classe que herda de FlaskForm. Essa classe base fornece CSRF e validação gratuitamente.

from flask_wtf import FlaskForm

class LoginForm(FlaskForm):
    pass

Adicionar seu primeiro campo

Campos são atributos de classe definidos como objetos de campo. Um StringField é renderizado como uma entrada de texto e armazena o que o usuário digitar.

from wtforms import StringField

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

Tipos comuns de campo

O WTForms oferece vários tipos de campo. Use PasswordField, BooleanField ou SelectField para que cada entrada corresponda aos dados esperados.

from wtforms import PasswordField, BooleanField

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

Dar um rótulo aos campos

O primeiro argumento de um campo é seu label. Esse é o texto que o seu modelo exibe ao lado da entrada, portanto torne-o compreensível para as pessoas.

email = StringField('Email address')

Adicionar validadores

Passe uma lista de validators para impor regras. DataRequired recusa um envio vazio antes mesmo de a sua visualização ser executada.

from wtforms.validators import DataRequired

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

Combinar várias regras

Os validadores são executados em ordem, então você pode combiná-los. Exija um valor e depois verifique o seu comprimento, tudo no mesmo campo.

from wtforms.validators import DataRequired, Length

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

Adicionar um botão de envio

Um SubmitField se torna o botão do formulário. Incluí-lo na classe mantém toda a definição do formulário em um único lugar organizado.

from wtforms import SubmitField

submit = SubmitField('Log in')

Uma classe de formulário completa

Junte as partes e você terá uma classe de formulário reutilizável e com validação própria, pronta para ser instanciada em qualquer visualização.

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

Instanciar em uma visualização

Dentro de uma visualização, basta criar uma instância. O objeto de formulário então contém os campos, os dados e os erros dessa requisição.

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

Verificação rápida

De qual classe base os seus formulários Flask-WTF devem herdar?

Recapitulação

Você definiu um formulário como uma classe: criou uma subclasse de FlaskForm, adicionou campos tipados com rótulos e validadores e finalizou com um botão de envio. Reutilizável e organizado. ✨

Perguntas Frequentes

A aula “Defina uma classe FlaskForm” é grátis?

Sim — o texto completo de “Defina uma classe FlaskForm” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Flask Academy, atualize para CoddyKit PRO. O curso de Flask Academy inclui 4 aulas no total.

O que vou aprender em “Defina uma classe FlaskForm”?

Declare campos e validadores em Python. Você pratica Flask Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Flask Academy?

Nenhuma experiência prévia é necessária. Flask Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Defina uma classe FlaskForm”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Flask Academy?

Sim. Cada aula de Flask Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Defina uma classe FlaskForm
  2. Renderize e envie um formulário
  3. validate_on_submit e tokens CSRF
  4. Validadores personalizados e erros de campo
← Voltar para Flask Academy