Объявление разрешённых методов маршрута
Передавайте методы в @app.route для GET и POST.
«Объявление разрешённых методов маршрута» — бесплатный урок Flask Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Flask Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Flask Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Routes Default to GET
Every Flask route you write so far only answers GET requests. Browsers use GET to fetch pages, so it is the natural default.
The methods Argument
To accept other verbs, pass a methods list to the route decorator. It tells Flask exactly which HTTP verbs the view will handle.
@app.route("/submit", methods=["GET", "POST"])
def submit():
return "ok"Why List GET Explicitly
Once you set methods, the implicit GET disappears. If you still want GET, you must include it in the list yourself.
A POST-Only Route
Some endpoints should never serve a page. Make a route POST-only by listing just POST, and GET requests will be refused.
@app.route("/api/items", methods=["POST"])
def create_item():
return "created"Verbs Are Uppercase Strings
Flask expects each verb as an uppercase string like "GET" or "POST". Lowercase entries simply will not match incoming requests.
HEAD Comes for Free
When you allow GET, Flask also answers HEAD automatically. HEAD returns the same headers as GET but with no body.
OPTIONS Is Added Too
Flask auto-handles OPTIONS as well, replying with an Allow header that lists the methods your route accepts.
Beyond GET and POST
APIs often need more verbs. You can list PUT, PATCH, or DELETE the same way to support updating and removing resources.
@app.route("/api/items/<id>", methods=["PUT", "DELETE"])
def edit_item(id):
return "changed"One Function, Many Methods
A single view can accept several verbs at once. Inside it you decide what each verb does, all from one function.
Match the Verb to Intent
Use GET to read and POST to create. Choosing the right verb keeps your API predictable for every client that calls it.
Wrong Verb, No Match
If a client uses a verb you never listed, Flask refuses the request entirely. Declaring methods is your first line of access control.
Quick Check
Think about what happens to GET when you set methods.
Recap
Routes default to GET, but the methods list lets you accept POST, PUT, and more. List GET yourself if you still need it. Nicely done! 🎉
Часто задаваемые вопросы
Урок «Объявление разрешённых методов маршрута» бесплатный?
Да — полный текст урока «Объявление разрешённых методов маршрута» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Flask Academy, подпишись на CoddyKit PRO. Курс Flask Academy содержит 4 уроков всего.
Чему я научусь в уроке «Объявление разрешённых методов маршрута»?
Передавайте методы в @app.route для GET и POST. Ты практикуешь Flask Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Flask Academy?
Предыдущий опыт не требуется. Flask Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Объявление разрешённых методов маршрута»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Flask Academy?
Да. Каждый урок Flask Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Объявление разрешённых методов маршрута
- Разветвление логики по request.method
- Чтение данных POST из тела запроса
- Объяснение ошибки 405 Method Not Allowed