我目前正在製作一個服務器儀表板,它非常依賴圖表和圖表。Django和Highcharts - 生成圖表,仍然是乾的?
我在後端使用Django,圖表使用Highcharts/Highstock(http://www.highcharts.com/)(儘管我們也在看着D3,取決於如何進展)。
我的問題是,什麼是產生我們的所有圖形的好方法,並仍然保持乾燥?
(我知道Django的Chartit的,但它是一個有點限制我們的目的,並沒有提供我們一些我們需要的定製靈活性的)。
1.如何檢索數據
首先,我是最好的Javascript本身內部的圖形編碼數據。例如:
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的)服務。或者我應該在我的HTML文件中使用內聯<script>
標籤?與AJAX
3.安全/性能如果我們再往選項2的JSON/AJAX路線 - 會不會有性能問題,使說在一個頁面上20個JQuery.get()
電話?我不知道有什麼方法可以批量處理它們?
又是怎麼回事安全 - 我們想只露出AJAX端點的圖表,但你怎麼能允許但不能讓任何人作出該URL直接調用?
4.幹
無論哪種方式,我發現我們有重複的堆載有所有這些圖表。
削減這個最好的方法是什麼?圖表的模板標籤?還是有更聰明的方法?
乾杯, 維克多