Plotly в Django должен ли я использовать Dash?

Я достаточно опытный любитель программирования на python. С помощью этого сайта я пробился через сельдерей, каналы, сокеты, NGINX, докер и т.д. и т.п., чтобы создать сайт, который управляет моим астрономическим куполом и некоторой домашней автоматикой.

Частью астрономической установки является метеостанция стороннего производителя, которая собирает данные (температура, скорость ветра, влажность, яркость, дождь и т.д.) и распространяет json-файл каждые 15 секунд. Я успешно разработал pyhton / Django / Plotly для сбора данных и создания одного графика (температура). Я успешно встроил этот график в веб-страницу.

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

Думаю, я могу сделать это с помощью вызовов websocket.

Стоит ли мне использовать Dash вместо этого? Я нашел plotly относительно простым в использовании, и меня привлекает идея использования плагина bootstrap для управления bootstrap в коде python, а не на странице html.

but

Проблема: установка Django-Plotly-Dash v2.0 понижает django (v4.0.5 до 3.2.13), daphne (v3.0.2 до 2.5.0) и channels (v3.0.4 до 2.4.0). Я не уверен, что это что-то "сломает", но поскольку все "докеризировано", устранение неисправностей не является тем, что я хочу делать, если я могу этого избежать.

Проблема: мне нужно "переместить" код bootstrap из html в python...... не должно быть проблемой? Просто отнимает много времени?

Мнения всех, кто имеет опыт использования Django с Plotly и Dash, будут очень приветствоваться. Спасибо

Что ж, здесь у вас есть несколько вариантов того, как правильно справиться с вашими потребностями.

Что касается django_plotly_dash, вы можете проверить их файл setup.py. Обратите внимание, что они ожидают, что у вас есть Django>=2.2,<4.0.0. Поэтому понятно, что установка автоматически понижает вашу Django версию.

Вот варианты, которые вы можете рассмотреть:

  • Предпочтительнее, если вам действительно нужна django_plotly_dash lib: понизить версию Django;
  • Если у вас есть альтернативные решения: поищите другое решение (избавьтесь от django_plotly_dash);
  • Если вы чувствуете, что можете справиться с возможными проблемами: форк django_plotly_dash, затем обновить setup.py Django требование до Django>=2.2, затем установить lib из вашего личного репо. Опять же, это может вызвать у вас множество проблем, поэтому вам нужно будет все как следует протестировать.
  • .

В качестве бонуса к последнему варианту, если вы успешно выполните обновление, вы можете сделать PR в исходное репо и таким образом внести вклад в проект с открытым исходным кодом.

Понижение и повышение версий может определенно сломать ваш проект. Особенно если вы понижаете основные версии.

Для вашего следующего проекта вы должны использовать версию LTS, а не последнюю. Особенно если вы собираетесь использовать этот код в производственной среде. Разработчики инструментов будут рассматривать возможность поддержки LTS версий, а не последних версий. Текущая LTS версия для Django - 3.2. Согласно дорожной карте следующая LTS версия будет 4.2 в 2023.

Я бы подумал об использовании plotly или другой библиотеки, потому что для поддержки Dash вам придется обновить многие пакеты. Если только вы не решите перейти на версию LTS.

Вернуться на верх