Джанга + реакт — вполне ок, но обычно джанга в таком случае не рендерит HTML вообще, а служит rest (или graphql для хипстеров)-бэкэндом. Ну, не считая тривиального «вытащить хэш из webpack-loader в html».
Никогда не смешивай 2 разных типа шаблонов в одном месте. Вообще, на одной странице одновременно и сервер-шаблоны, и клиент-шаблоны встречаются в основном при медленном перепиливании (например, с первого на второе) либо при встраивании готовых компонентов. При этом:
Отрендеренный бэкэндом HTML обязан быть непрозрачным блобом для фронтэнд-фреймворка. Его нельзя парсить, можно только взять и вставить в нужное место.
Аналогично: весь UI-слой фронтэнд-фреймворка обязан быть непрозрачным блобом для бэкэнд-шаблонов. Фронтэнду можно передать настройки, но идея, скажем, писать JSX джангой (и компилить на клиенте) — ужасна, хоть и технически реализуема.
Если хочешь SSR с джангой — работай с нодой из джанги. Где-то тут возникнет вопрос «а зачем тут вообще джанга?». Хотя SSR-руты могут быть отделены от API-рутов, тогда джанга опять же не будет иметь понятия ни о ноде, ни о html.
Джанга + реакт — вполне ок, но обычно джанга в таком случае не рендерит HTML вообще, а служит rest (или graphql для хипстеров)-бэкэндом. Ну, не считая тривиального «вытащить хэш из webpack-loader в html».
Никогда не смешивай 2 разных типа шаблонов в одном месте. Вообще, на одной странице одновременно и сервер-шаблоны, и клиент-шаблоны встречаются в основном при медленном перепиливании (например, с первого на второе) либо при встраивании готовых компонентов. При этом:
Отрендеренный бэкэндом HTML обязан быть непрозрачным блобом для фронтэнд-фреймворка. Его нельзя парсить, можно только взять и вставить в нужное место.
Аналогично: весь UI-слой фронтэнд-фреймворка обязан быть непрозрачным блобом для бэкэнд-шаблонов. Фронтэнду можно передать настройки, но идея, скажем, писать JSX джангой (и компилить на клиенте) — ужасна, хоть и технически реализуема.
Если хочешь SSR с джангой — работай с нодой из джанги. Где-то тут возникнет вопрос «а зачем тут вообще джанга?». Хотя SSR-руты могут быть отделены от API-рутов.
Джанга + реакт — вполне ок, но обычно джанга в таком случае не рендерит HTML вообще, а служит rest (или graphql для хипстеров)-бэкэндом. Ну, не считая тривиального «вытащить хэш из webpack-loader в html».
Никогда не смешивай 2 разных типа шаблонов в одном месте. Вообще, на одной странице одновременно и сервер-шаблоны, и клиент-шаблоны встречаются в основном при медленном перепиливании (например, с первого на второе) либо при встраивании готовых компонентов. При этом:
Отрендеренный бэкэндом HTML обязан быть непрозрачным блобом для фронтэнд-фреймворка. Его нельзя парсить, можно только взять и вставить в нужное место.
Аналогично: весь UI-слой фронтэнд-фреймворка обязан быть непрозрачным блобом для бэкэнд-шаблонов. Фронтэнду можно передать настройки, но идея, скажем, писать JSX джангой (и компилить на клиенте) — ужасна, хоть и технически реализуема.
Джанга + реакт — вполне ок, но обычно джанга в таком случае не рендерит HTML вообще, а служит rest (или graphql для хипстеров)-бэкэндом
Никогда не смешивай 2 разных типа шаблонов в одном месте. Вообще, на одной странице одновременно и сервер-шаблоны, и клиент-шаблоны встречаются в основном при медленном перепиливании (например, с первого на второе) либо при встраивании готовых компонентов. При этом:
Отрендеренный бэкэндом HTML обязан быть непрозрачным блобом для фронтэнд-фреймворка. Его нельзя парсить, можно только взять и вставить в нужное место.
Аналогично: весь UI-слой фронтэнд-фреймворка обязан быть непрозрачным блобом для бэкэнд-шаблонов. Фронтэнду можно передать настройки, но идея, скажем, писать JSX джангой (и компилить на клиенте) — ужасна, хоть и технически реализуема.