
Сначала я хотел оставить этот небольшой проект 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 на следующее:
На сегодня хватит
Удивительно, но я смог довольно быстро пройти сегодняшний урок. Конечно, здесь и там были ошибки; однако были те же ошибки, с которыми я столкнулся несколько дней назад. Таким образом, я смог быстро исправить эти ошибки. Также я стал полностью понимать структуру кода, что является плюсом от согласованности :)
Помните: будьте последовательны!