0Pricing
Flask Academy · Aula

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 request

Read 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

  1. Declare métodos permitidos em uma rota
  2. Lógica condicional por request.method
  3. Leia dados POST do corpo
  4. 405 Método não permitido explicado
← Voltar para Flask Academy