Фреймворки для создания 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-запроса по указанному пути.
Для более детального разбора обработчиков и практических задач переходите к следующему разделу