Как пишут фронтенд для Django

Рейтинг: 7Ответов: 3Опубликовано: 22.04.2015

Django шаблонизатор и встроенные формы вещи довольно удобные и мощные, но современные вебприложения имеют сложные динамические интерфейсы, и тут явно нужно что-то другое.

Я пробовал писать интерфейсы на jQuery, получалась лапша, даже переписав проект заново получилось не намного лучше.

Пробовал писать на ReactJS, код получается структурированным, понятным , но переписывать банальные вещи с нуля утомляет, да и многие полезные Django батарейки уже не используешь.

Какие подходы и инструменты сейчас используют для написания фронтенда для Django?

Ответы

▲ 4

Например, REST API, чтобы гонять данные, а на фронтенде любой модный фреймворк типа Angular/Ember/React+Backbone и т.д. Т.е. шаблонизатор джанги не используется (тем более, он и так довольно убог). Если же на сервере нет никакой сложной бизнес-логики, и он нужен только как БД и API к ней, а большая часть логики на клиенте, то джангу вполне можно заменить на что-то более подходящее.

▲ 4

Я использую в проектах https://github.com/jrief/django-angular очень хороший и удобный инструмент, очень нравится как легко можно делать запросы к бэкенду, только желательно прикручивать serializers для ответов.

▲ 3

Использую Django + Angular Light. Получается, где сложный интерфейс, там REST API и рендеринг на клиенте через Angular Light (админки с кучей таблиц, фильтры по объектам, прочий интерактив, вебсокеты и т.д.), в остальных частях системы (авторизации, витрины, контент страницы в том числе страницы с деталями объекта - используется Django шаблоны).

К слову, Angular Light работает быстрее Angular 1.3, за счет того что там вырезан весь лишний обвес и используется встроенный в js пабсаб. Вот бенчмарк http://plnkr.co/edit/leZaT043Yffz4LfG8Ykq?p=preview