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-WTFCriar 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):
passAdicionar 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
- Defina uma classe FlaskForm
- Renderize e envie um formulário
- validate_on_submit e tokens CSRF
- Validadores personalizados e erros de campo