Сначала я хотел оставить этот небольшой проект Flask REST API и начать новый. Но потом я решил, что, поскольку я уже достиг этого этапа, я мог бы закончить его до совершенства!

[Примечание: вы можете следить за уроком, сделанным Паурахом Шармой Хумагаином по этой ссылке]

Во вчерашней статье мы смогли сохранить наши фильмы — трилогию о Джеймсе Дине! — в базу данных MongoDB. Сегодня я собираюсь узнать, как структурировать мое приложение на фляге более удобным для сопровождения способом.

Мы собираемся изучить два способа структурирования приложения Flask:

  • Blueprint: он используется для структурирования приложения Flask на различные компоненты, что упрощает структурирование приложения на основе различных функций».
  • Flask-RESTful: расширение Flask, которое помогает быстро создавать REST API и следовать архитектуре REST.

Структурирование Flask API с помощью Blueprint

Сначала создайте новый каталог с именем resources внутри основной папки проекта. Внутри этого каталога создайте новый файл Python с именем movie.py, который будет иметь следующий код:

Из приведенного выше кода видно, что код точно такой же, как и в файле app.py. Из-за этого ваш app.py должен выглядеть следующим образом:

Это все, что вам нужно сделать, чтобы использовать Blueprint и структурировать свое Flask приложение.

Структурирование API Flask с использованием Flask-RESTful

Чтобы структурировать ваше приложение с помощью Flask-RESTful, установите пакет flask-restful, используя pipenv. Помните, убедитесь, что вы не устанавливаете опечатку!

Теперь обновите свой movie.py, чтобы его можно было использовать на flask-restful. Вы можете скопировать следующий код:

Как видите, flask-restful использует синтаксис на основе классов. Теперь давайте зарегистрируем эти конечные точки, создав новый файл с именем routes.py внутри каталога resources и добавив в него следующее:

После того, как мы определили функции для инициализации маршрутов, давайте изменим наш app.py на следующее:

На сегодня хватит

Удивительно, но я смог довольно быстро пройти сегодняшний урок. Конечно, здесь и там были ошибки; однако были те же ошибки, с которыми я столкнулся несколько дней назад. Таким образом, я смог быстро исправить эти ошибки. Также я стал полностью понимать структуру кода, что является плюсом от согласованности :)

Помните: будьте последовательны!