Lógica condicional por request.method
Exiba um formulário com GET e processe-o com POST.
Lógica condicional por request.method é uma aula grátis de Flask Academy no CoddyKit. Esta é a aula 2 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.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
One Route, Two Jobs
A route that accepts both GET and POST often needs to behave differently for each. You handle that by checking which verb arrived.
The request Object
Flask gives you a global request object that describes the incoming call. Import it once and use it inside any view.
from flask import requestRead request.method
The attribute request.method holds the verb of the current call as a string like "GET" or "POST".
if request.method == "POST":
print("handling a form")Branch on the Verb
Wrap your logic in an if that checks request.method. One branch shows a form, the other processes the submitted data.
The Classic Form Pattern
The most common shape is: on GET render the empty form, and on POST read the answers and act on them.
@app.route("/contact", methods=["GET", "POST"])
def contact():
if request.method == "POST":
return "saved"
return "show form"GET Should Not Change Data
Keep the GET branch read-only. A GET request must never create or modify records, since browsers may repeat it freely.
POST Does the Work
Put writes, saves, and side effects in the POST branch. That keeps mutations tied to a deliberate submission.
Compare Strings Exactly
Always compare against the exact uppercase value. request.method is "POST", never "post", so a lowercase check will silently fail.
An else for the Fallthrough
Treat the GET case as the natural else. Return the form view when the method is not POST so the page always renders.
Skip Checks Flask Handles
You never test for a verb you did not allow. Flask blocks unlisted methods before your code runs, so only listed verbs arrive.
Keep Branches Small
If each branch grows large, call helper functions from the if. The view stays a clean dispatcher between GET and POST.
Quick Check
Pick the branch that should change data.
Recap
Use request.method to branch: render the form on GET, process and save on POST. Keep GET read-only and POST for changes. Great work! 🙌
Perguntas Frequentes
A aula “Lógica condicional por request.method” é grátis?
Sim — o texto completo de “Lógica condicional por request.method” é 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 “Lógica condicional por request.method”?
Exiba um formulário com GET e processe-o com POST. 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 2 de 4.
Quanto tempo leva a aula “Lógica condicional por request.method”?
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
- Declare métodos permitidos em uma rota
- Lógica condicional por request.method
- Leia dados POST do corpo
- 405 Método não permitido explicado