0Pricing
Flask Academy · Урок

Разветвление логики по request.method

Показывайте форму для GET и обрабатывайте её для POST.

«Разветвление логики по request.method» — бесплатный урок Flask Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Flask Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Flask Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

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! 🙌

Часто задаваемые вопросы

Урок «Разветвление логики по request.method» бесплатный?

Да — полный текст урока «Разветвление логики по request.method» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Flask Academy, подпишись на CoddyKit PRO. Курс Flask Academy содержит 4 уроков всего.

Чему я научусь в уроке «Разветвление логики по request.method»?

Показывайте форму для GET и обрабатывайте её для POST. Ты практикуешь Flask Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Flask Academy?

Предыдущий опыт не требуется. Flask Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Разветвление логики по request.method»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Flask Academy?

Да. Каждый урок Flask Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Объявление разрешённых методов маршрута
  2. Разветвление логики по request.method
  3. Чтение данных POST из тела запроса
  4. Объяснение ошибки 405 Method Not Allowed
← Назад к Flask Academy