Под Isomorphic я понимаю, что вы имеете в виду как на сервере, так и на клиенте - поэтому при первом доступе к сайту будут возвращаться статический HTML и пакет javascript, который затем заменяет статический HTML на версию с реагирующей визуализацией.
Обычно это означает запуск javascript на сервере с Node.js.Это означает, что вы можете визуализировать ваши шаблоны / компоненты JSX / React на сервере и отправлять их в виде статического HTML пользователю.Если вы работаете с Python на сервере, вы не можете использовать шаблонизацию и логику JSX / Javascript на сервере, поэтому вам нужно будет продублировать ее на Python.
Так что вам придется все это делатьдважды - сначала нужно выяснить, какой из них вы хотите сделать первым.Вначале либо в Python, либо в Javascript.
Вы можете начать с построения всего рендеринга на стороне сервера всего приложения, затем взять на себя управление javascript или создать полностью javascript-приложение и отобразить первые представления с помощью Python.
Лично для контент-ориентированных сайтов я предпочитаю создавать приложение на стороне сервера с помощью Django (наиболее используемой Python Web Framework), а затем добавлять Javascript сверху, когда он полностью работает как сайт без javascript.,Это дает преимущество работы даже в том случае, если javascript отключен, и гарантирует, что у вас есть хорошие URL-адреса и т. Д.
Конечно, если это действительно сложное приложение с точки зрения взаимодействия с пользователем, вам нужно будет сделать этоДругой способ.
Я рекомендую сначала изучить Django, Вот отличное руководство от девушек-джанго .Однако, если вы хотите пойти по пути JS, вот несколько идей:
Javascript First
Вероятно, лучший способ - сначала спроектировать структуру (ы) данных и сделать RESTAPI для ваших данных.(например, /api/1.0/cars/rustbucket_94
, который отправляет данные JSON.)
Затем выясните вашу схему URL-адреса, ориентированную на пользователя, и определите, какие конечные точки REST необходимо получить, чтобы получить эти страницы.(Как должны выглядеть URL-адреса для конечных пользователей. Например, /cars/rustbucket_94.html
)
Создайте свое приложение React как обычно, используя эти конечные точки REST / JSON и маршрутизатор реагирования, чтобы правильно его отображать.
После того, как у вас будет работать все приложение реагирования, вы можете создать версию всего этого на стороне сервера, которую вам нужно будет заново реализовать с нуля, и получить доступ к данным через конечные точки JSON (медленно).или делая сами запросы внутри страниц.
Сторона Python
Какую платформу Python Framework использовать в бэкэнде?
Я бы порекомендовал Django начать с.Это очень способно и может делать все, что вы тоже этого хотите.Вам, вероятно, понадобится Django REST framework .Есть и другие доступные варианты, но это будет самый быстрый способ получить что-то безопасное и вменяемое.
Хорошая работа Django с вашим рабочим процессом webpack / реагировать не слишком сложна.Есть такие проекты, как Django-Webpack-Loader и различные учебные пособия об этом, показывающие, как его использовать.
Удачи.