Фреймворки для создания web-приложений. Описание.

Теория

В предыдущем уроке был реализован простой http сервер с использованием стандартных средств python.

Как можно было заметить, для того что бы сформировать ответ требуется задать не только тело ответа, но и вручную устанавливать все необходимые http-заголовки.

Так же, любое современное web-приложение может обрабатывать запросы не только по корневому пути (http://127.0.0.1:8000/ как было с простым http сервером). Задание нестандартных путей для обработчиков из встроенной библиотеки, а так же маршрутизация между обработчиками, накладывает дополнительные временные расходы на реализацию сервера.

Для упращения процесса создания серверных приложений были разработаны фреймворки:

Flask

В рамках курса будет рассмотрена работа с фреймворком Flask.

Реализуем приложение, аналогичное серверу из предыдущего раздела:

# Файл app.py

from flask import Flask

app = Flask(__name__)

@app.route('/')
def sample():
    return 'Был получен GET-запрос.'

if __name__ == '__main__':
    app.run(host='127.0.0.1', port='8000')

Сохраните код, перейдите в директорию где находится файл с кодом и выполните: python app.py, в результате вы должны увидеть:

Running on http://127.0.0.1:8000/ (Press CTRL+C to quit)

Теперь, если перейти в браузере по адресу 127.0.0.1:8000, то должна отобразиться уже знакомая страница.

Как видно, теперь не потребовалось создавать отедельный сервер, к которому мы будем привязывать обработчики для запросов. Вместо этого мы можем описать обычную функцию, и указать приложению использовать ее в качестве обработчика GET-запроса по указанному пути.

Для более детального разбора обработчиков и практических задач переходите к следующему разделу