Как Django работает с react combined?
Я только начал с Django, у меня есть небольшой опыт в React. Так вот, есть одна тема, которая меня немного смущает... Если я погуглю, как Django работает с React, я в основном вижу 2 способа. Первый - путем внедрения React прямо в Django, а второй - с помощью Rest-API. Я думаю, что эти два способа используют разные подходы в том плане, что первый способ использует React непосредственно в бэкенде (то есть как часть бэкенда), а второй вариант использует React во фронтенде и взаимодействует через API с бэкендом. Если я не прав в этом вопросе, то, пожалуйста, покажите мне правильный путь... Итак, если я прав, то какова цель использования React внутри Django, если у вас уже есть возможность использовать переменные, функции или даже классы? Только из-за JS вместо Python? Или я что-то упускаю из виду?
С точки зрения коммуникации, они всегда разделены, и фронтенд React всегда взаимодействует с Django с помощью вызовов API (REST через HTTP[S], обычно).
С точки зрения разработки, здесь есть некоторые пересечения. Поскольку сам Django частично занимается генерацией кода фронтенда (например, из шаблонов, классов форм и т.д.), вы можете использовать инструменты Django для генерации или иной интеграции с кодом фронтенда React. Такие интеграции Django могут упростить разработку бэкендов Django и фронтендов React (или других фреймворков для фронтендов, таких как Angular и т.д.). Например, у вас может быть приложение Django, которое предоставляет компоненты для рендеринга Django Forms с помощью React, а не стандартных виджетов HTML форм - но это в основном для удобства программирования и не меняет того, как React взаимодействует с Django.
Иными словами, связь между бэкендом Django и фронтендом React всегда отдельная. Вы не можете, например, встроить React, который является javascript-фреймворком, непосредственно в Django или любое приложение на Python, или наоборот. Вы должны делать вызовы API к Django, чтобы взаимодействовать с вашим приложением Django из приложения React.