У нас был тот же вопрос, когда мы начинали наш проект.
В конце концов, мы перенесли все, что могли, на сторону JS. Вот наш стек:
Серверная часть получает и отправляет исключительно данные JSON.
Мы используем Erlang, но Python будет таким же. Он обрабатывает аутентификацию / безопасность и хранилище.
Интерфейс в HTML + CSS для визуальных элементов и JS для логики.
Механизм шаблонов JS преобразует JSON в HTML. Мы создали PURE , но есть множество других доступных. MVC может быть излишним на стороне браузера, но IMO, использующий механизм шаблонов, является наименьшим разделением, которое вы можете сделать.
Время отклика потрясающее. Как только страница и JS / CSS загружены (свежие или из кэша), только данные пересекают сеть для каждого запроса.