Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Обработчики запросов Python: Веб-разработка (Flask)

Одна из содержательных частей цикла запрос-ответ — обработчик запроса. В этом уроке мы разберем, как находить и вызывать обработчика.

Обработчик

Общий принцип работы любого веб-фреймворка отражает архитектуру HTTP. На каждый адрес задается обработчик (handler) — функция, которая выполняет необходимые действия и возвращает ответ.

Обработчики регистрируются с помощью декоратора @route(). Декоратор принимает путь или маршрут, для которого вызовется обработчик:

@app.route('/')
def index():
    # …

@app.route('/data/users.json')
def users():
    # …

Каждый путь состоит из сегментов — строк, которые разделены слешами ("/"). Функции index и users в примере — обработчики, а каждое применение декоратора route — добавление нового правила маршрутизации.

Во фреймворках принято определять маршрут как комбинацию метода HTTP и адреса. И это соответствует идеям REST. Flask предлагает два способа указания метода:

  • Как аргумент декоратора route() — все указанные методы будут обрабатываться одной функцией, а выбор метода будет в условиях:
from flask import request

@app.route('/', methods=['GET', 'POST'])
def hello():
    # Получить доступ к содержимому запроса можно через специальный объект request
    if request.method == 'POST':
        return 'Hello, POST!'
    return 'Hello, GET!'
  • Как отдельные обработчики под каждый метод с помощью соответствующих декораторов: get(), post() и других:
@app.get('/')
def hello_get():
    return 'Hello, GET!'

@app.post('/')
def hello_post():

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 28 сентября

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»