Зачем нужен Django Rest Framework?
Всем привет! Возможно вопрос покажется глупым, но хочу полностью разобраться в теме начиная с таких азов.
Я изучаю DJango, написал уже интернет магазин для своего знакомого, получилось достаточно неплохо, как мне кажется. Все работает, у меня есть регистрация пользователей, есть корзина, есть избранное, есть сами товары, есть к ним сортировка по различным критериям и пагинация. Нет оплаты только, но это моему знакомому не нужно, поэтому из корзины просто письмо на почту менеджеру отправляется со списком из заказа. Есть категории товаров, пользователи и некоторые другие вещи.
Суть в чем? Я сделал вполне себе вменяемый сайт(опять же, как мне кажется) полностью на джанго + bootstrap. Там все работает хорошо. Тогда зачем нужен DRF? Я понимаю что это разработка API, я посмотрел кое-какую инфу по этому поводу, но все равно не понимаю истинную причину нужности DRF и API в целом.
И следом еще вопрос - получается чтобы внедрить drf в свое приложение разработанное чисто на django- мне теперь весь проект придется переделывать? тогда лучше для изучения drf создать что то новое и там уже начинать все заново?
Внесу свою лепту, думаю дополнит слова других людей по этой теме. По мимо реализации с js, htmx. Django изначально пилился, как фреймворк на паттерне MVC - Model, Views, Contoller, по итогу модифицированный MTV - Models, Views, Template). Ещё в далекие года, когда определение МИКРОСЕРВИС, был не особо популярен. К самому термину вернемся, чуть позже. Из-за того, что Django, хочет двигаться в ногу со временем был создан Django Rest Framework. Который дает возможность разделять приложения на некие микросервисы, которые взаимодействую с друг-другом с помощь API.
Отвечая на твой вопрос. Ты представь какой-нибудь гугл написанный на Django. Сделали мы ютуб, а как связать нам gmail с этим ютубом? А яндекс, как связать с их почтой или кинопоиском? Вот для чего и создан API. В первую очередь для крупных компаний, которые искали, как расширять свои приложения и делать это минимально без без боли. Я молчу, как бы они жили без того же SSO.
В данный промежуток времени, мелкие компании смотрят на гигантов и заимствую их идеи. А почему бы и нет? Ведь не всегда гигант использует один фреймворк, да и язык программирования. Возможно видел статистику, мол где что используется. Тот же инстаграмм использует, если не изменяю память django. Но все это связано с помощью твоего API с другими фреймворками,другими языками.
DRF - это самая настоящая база, которую тебя будут спрашивать даже в мелких компаниях. Ты должен на базовом уровне понимать, как реализовать твое приложения для микросервиса. Ибо идем в ногу со временем и вдохновляемся, компашками побольше.
Все же в первую очередь именно, поэтому был и создан такой подход. Выше тебя не обманывают, но далеко не это послужило его созданию.