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.pyDjango
требование доDjango>=2.2
, затем установить lib из вашего личного репо. Опять же, это может вызвать у вас множество проблем, поэтому вам нужно будет все как следует протестировать. .
В качестве бонуса к последнему варианту, если вы успешно выполните обновление, вы можете сделать PR в исходное репо и таким образом внести вклад в проект с открытым исходным кодом.
Понижение и повышение версий может определенно сломать ваш проект. Особенно если вы понижаете основные версии.
Для вашего следующего проекта вы должны использовать версию LTS, а не последнюю. Особенно если вы собираетесь использовать этот код в производственной среде. Разработчики инструментов будут рассматривать возможность поддержки LTS версий, а не последних версий. Текущая LTS версия для Django - 3.2. Согласно дорожной карте следующая LTS версия будет 4.2 в 2023.
Я бы подумал об использовании plotly или другой библиотеки, потому что для поддержки Dash вам придется обновить многие пакеты. Если только вы не решите перейти на версию LTS.