В настоящее время я делаю приборную панель сервера, которая довольно сильно опирается на графики и диаграммы.
Я использую Django на бэкэнде и Highcharts / Highstock (http://www.highcharts.com/) для графиков (хотя мы также смотрим на D3, в зависимости от того, как это прогрессирует).
Мой вопрос: каков хороший способ генерировать все наши графики и при этом оставаться СУХИМЫМ?
(Я знаю о Django-Chartit, но он немного ограничен для наших целей и не предлагает нам некоторые возможности по настройке, которые нам нужны).
1. Как получить данные
Во-первых, мне лучше кодировать данные для графиков внутри самого JavaScript. E.g.:
series: [{
name: 'Virtualised',
data: [80, 81, 84, 84, 85, 80, 90, 85, 80, 88, 89, 90]
}, {
name: 'Physical',
data: [15, 14, 12, 8, 10, 12, 12, 14, 10, 12, 8, 9]
}]
Или я должен получать все данные с помощью вызовов AJAX - например, JSON через Query.get()
?
2. Динамическое создание Javascript
Если мы перейдем к варианту 1 и закодируем данные непосредственно в JavaScript, как мне динамически генерировать эти файлы Javascript?
В настоящее время наш JS обслуживается непосредственно нашим веб-сервером (NGinx). Или я должен использовать встроенный тег <script>
внутри моих файлов HTML?
3. Безопасность / Производительность с AJAX
Если мы перейдем к варианту 2 по маршруту JSON / AJAX - возникнут ли проблемы с производительностью, скажем, 20 JQuery.get()
вызовов на одной странице? Я не знаю ни одного способа их всех пакетировать?
А как насчет безопасности - мы хотели бы предоставить конечной точке AJAX только графики, но как вы можете разрешить это, но не позволять кому-либо делать прямой вызов этого URL?
4. DRY
В любом случае, я заметил, что у нас есть куча повторений со всеми этими диаграммами.
Какой лучший способ сократить это? Шаблон-теги для диаграмм? Или есть более разумный способ?
Ура,
Victor