Использование Django REST Framework для создания кроссплатформенного сайта
Я хочу создать кроссплатформенный сайт на Django, который сможет работать с другими клиентами, например, с моими собственными приложениями на c++. Представьте, что кто-то создал социальную сеть, в которой вы можете размещать видео и статьи. Что я хочу, так это иметь возможность получать все статьи и видео в моем приложении на c++, а также иметь возможность делать то же самое в моем веб-браузере. Вот несколько вопросов:
- Могу ли я использовать REST Framework только для аутентификации и запросов к приложению, а для запросов к браузеру просто отрисовывать HTML-файл с помощью встроенной в Django функции render()? Логика в том, что когда вы находитесь в браузере, вы переходите по URL типа my-site.com/, my-site.com/about-us и т.д., а когда вы находитесь в c++ приложении, вы переходите по URL типа my-site.com/api/v1, my-site.com/api/v1/about-us. Будет ли так работать?
- Если будет работать, то как сделать так, чтобы можно было авторизоваться и в браузере и в приложении используя REST Framework, а для остальных частей сайта кроме авторизации использовать отдельный функционал (как я уже говорил)? Любая помощь приветствуется.
Да, в этом и заключается весь смысл drf. Вы пишете свои представления, как обычно, а внутри drf создаете отдельные маршруты, необходимые для вашего приложения. Лучше всего использовать что-то вроде cool.social/api/v1/....
.Взгляните на: https://www.django-rest-framework.org/api-guide/authentication/ - DRF использует тот же Userbackend, что и Django. Обычно вы аутентифицируете пользователя внутри приложения (например, через WebView Widget) и храните AccessToken для этого пользователя в Apps Configuration.