Django + Vue с несколькими приложениями - PullRequest
0 голосов
/ 30 августа 2018

Существует множество учебных пособий и полезных постов о том, как правильно использовать Django и Vue (в различных вариантах) по всему Интернету. Но я не нашел ни одного, который бы описывал , как создать приложение Django, состоящее из более чем одного приложения, каждое из которых имеет свою собственную часть интерфейса Vue .

Я создаю приложение Django с веб-интерфейсом Vue, и в нем будет много приложений, которые можно очень легко подключить к основной системе (используя пользовательский фреймворк). Но это только бэкэнд. Я бы хотел, чтобы в каждом приложении Django была также часть «плагина» внешнего интерфейса: например, набор компонентов Vue, которые отображаются «динамически» во внешнем интерфейсе при добавлении этого приложения в INSTALLED_APPS.

  • Как я могу предоставить "подключаемые модули" в Vue для загрузки этих компонентов? Все, что я видел (динамическая / ленивая загрузка компонентов с веб-пакета с использованием веб-загрузчика и т. Д.), Не то, что я хочу. В нем только описано, как загрузить компонент, который будет предварительно определен позднее на временной шкале http-запроса.

  • Как я должен "объединить" все компоненты? Могу ли я просто создавать компоненты в статических папках и позволить ./manage.py collectstatic творить чудеса?

Неважно, является ли приложение SPA или, возможно, мне нужно использовать шаблоны Django (с включенными компонентами Vue) - оба варианта будут жизнеспособными.

Может быть, это даже вопрос веб-пакета, и он должен звучать так: как мне принести Vue (или React и т. Д.) Для сбора его источников из разных подкаталогов, таких как foo_app / static /, blah_app / static /, bar_app / static - есть ли способ сказать Vue / Webpack / etc искать в myproject / * / static для слияния компонентов Vue? И можно ли включить «все компоненты» (динамическое количество), чем в другой компонент, который необходим для такой системы?

Может ли кто-нибудь просветить меня здесь - это совершенно невозможно? Или я не в том направлении?

Спасибо.

1 Ответ

0 голосов
/ 02 ноября 2018

У меня есть пара приложений VueJS на моем сайте django, и я планирую добавить еще. Я связываю их с webpack с помощью django-webpack-loader. https://github.com/owais/django-webpack-loader

...