日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

基于Django快速集成Echarts代碼示例

瀏覽:101日期:2024-09-15 17:01:19

1.在線定制下載echarts

https://echarts.apache.org/zh/builder.html

2.創(chuàng)建一個django項目或者在已有的項目

配置文件中確保數(shù)據(jù)庫配置、static配置、與添加項目名到INSTALLED_APPS下。 配置靜態(tài)文件目錄static,目錄下創(chuàng)建:css、img、js。 保存echarts.min.js到j(luò)s目錄下。 創(chuàng)建templates文件,html文件放到此目錄。

快速靜態(tài)測試

test.html文件

<!DOCTYPE html><html><head> <meta charset='utf-8'> <title>ECharts</title> <!-- 引入 echarts.js --> {% load static %} <script src='http://m.b3g6.com/bcjs/{% static ’/js/echarts.min.js’ %}'></script></head><body> <!-- 為ECharts準(zhǔn)備一個具備大小(寬高)的Dom --> <div style='width: 600px;height:400px;'></div> <script type='text/javascript'> // 基于準(zhǔn)備好的dom,初始化echarts實例 var myChart = echarts.init(document.getElementById(’main’)); // 指定圖表的配置項和數(shù)據(jù) var option = { title: {text: ’ECharts 入門示例’ }, tooltip: {}, legend: {data:[’銷量’] }, xAxis: {data: ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子'] }, yAxis: {}, series: [{name: ’銷量’,type: ’bar’,data: [5, 20, 36, 10, 10, 20] }] }; // 使用剛指定的配置項和數(shù)據(jù)顯示圖表。 myChart.setOption(option); </script></body></html>

urls文件

from django.urls import pathfrom app.views import TestViewurlpatterns = [ path(’test/’,TestView.as_view()),]

Views文件

from django.shortcuts import renderfrom rest_framework.views import Viewfrom rest_framework.response import Responseclass TestView(View): def dispatch(self, request, *args, **kwargs): ''' 請求到來之后,都要執(zhí)行dispatch方法,dispatch方法根據(jù)請求方式不同觸發(fā) get/post/put等方法 注意:APIView中的dispatch方法有好多好多的功能 ''' return super().dispatch(request, *args, **kwargs) def get(self, request, *args, **kwargs): return render(request, 'test.html') def post(self, request, *args, **kwargs): return Response(’POST請求,響應(yīng)內(nèi)容’) def put(self, request, *args, **kwargs): return Response(’PUT請求,響應(yīng)內(nèi)容’)Views文件

訪問url地址:

基于Django快速集成Echarts代碼示例

django獲取數(shù)據(jù)庫中的數(shù)據(jù)傳遞給echarts

test1.html

<!DOCTYPE html><html><head> <meta charset='utf-8'> <title>ECharts</title> <!-- 引入 echarts.js --> {% load static %} <script src='http://m.b3g6.com/bcjs/{% static ’/js/echarts.min.js’ %}'></script></head><body> <div style='width: 600px;height:400px;'></div> <script type='text/javascript'> // 基于準(zhǔn)備好的dom,初始化echarts實例 console.log(name) var myChart = echarts.init(document.getElementById(’main’)); // 指定圖表的配置項和數(shù)據(jù) var option = { title: { text: ’ECharts 入門示例’ }, tooltip: {}, legend: { data: [’銷量’] }, xAxis: { data: {{ name|safe }} }, yAxis: {}, series: [{ name: ’銷量’, type: ’bar’, data:{{ data|safe }} }] }; // 使用剛指定的配置項和數(shù)據(jù)顯示圖表。 myChart.setOption(option); </script></body></html>

urls文件

from django.urls import pathfrom app.views import TestView1urlpatterns = [ path(’test1/’,TestView1.as_view()),]

Views文件

from django.shortcuts import renderfrom rest_framework.views import Viewfrom rest_framework.response import Responseclass TestView1(View): def dispatch(self, request, *args, **kwargs): ''' 請求到來之后,都要執(zhí)行dispatch方法,dispatch方法根據(jù)請求方式不同觸發(fā) get/post/put等方法 注意:APIView中的dispatch方法有好多好多的功能 ''' return super().dispatch(request, *args, **kwargs) def get(self, request, *args, **kwargs): name = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子'] data = [56, 40, 54, 23, 12, 31] return render(request, 'test1.html',{'name':name,'data':data}) def post(self, request, *args, **kwargs): return Response(’POST請求,響應(yīng)內(nèi)容’) def put(self, request, *args, **kwargs): return Response(’PUT請求,響應(yīng)內(nèi)容’)

注意:我在views文件中直接返回數(shù)據(jù),在html模板中使用標(biāo)簽渲染,如果你需要使用ORM從數(shù)據(jù)庫拿數(shù)據(jù),可以做如下操作:

wheelsList = Wheel.objects.all()name = list(Wheel.objects.values_list(’name’, flat=True))data = list(Wheel.objects.values_list(’trackid’, flat=True))

訪問url地址:

基于Django快速集成Echarts代碼示例

echarts異步更新數(shù)據(jù)

test2.html文件

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Title</title> <!-- 引入 jquery.js--> <script src='http://code.jquery.com/jquery-latest.js'></script> <!-- 引入 echarts.js --> {% load static %} <script src='http://m.b3g6.com/bcjs/{% static ’/js/echarts.min.js’ %}'></script></head><body> <div style='width: 600px;height:400px;'></div> <script type='text/javascript'> $(function () { var server_info; var myChart = echarts.init(document.getElementById(’main’)); var option = { title: {text: ’ECharts 入門示例’ }, tooltip: {}, legend: {data:[’銷量’] }, xAxis: {data: {{ name | safe }} }, yAxis: {}, series: [{name: ’銷量’,type: ’bar’,data: {{ data | safe }} }] }; myChart.setOption(option, true); setInterval( function () {$.ajax({ type: ’GET’, url: ’/test1_api/’, dataType: ’json’, success: function (arg) { server_info = eval(arg); option.xAxis.data = server_info.name; option.series[0].data = server_info.data; }}); myChart.setOption(option, true);}, 2000); window.onresize = function () { myChart.resize(); }; }); </script></body></html>

urls文件

from django.urls import pathfrom app.views import TestView,TestView1,TestView1apiurlpatterns = [ path(’test2/’,TestView1.as_view()), path(’test1_api/’,TestView1api.as_view()),]

View文件

from django.shortcuts import renderfrom rest_framework.views import Viewfrom rest_framework.response import Responsefrom django.http import HttpResponseclass TestView1(View): def dispatch(self, request, *args, **kwargs): ''' 請求到來之后,都要執(zhí)行dispatch方法,dispatch方法根據(jù)請求方式不同觸發(fā) get/post/put等方法 注意:APIView中的dispatch方法有好多好多的功能 ''' return super().dispatch(request, *args, **kwargs) def get(self, request, *args, **kwargs): name = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子'] data = [56, 40, 54, 23, 12, 31] return render(request, 'test2.html',{'name':name,'data':data}) def post(self, request, *args, **kwargs): return Response(’POST請求,響應(yīng)內(nèi)容’) def put(self, request, *args, **kwargs): return Response(’PUT請求,響應(yīng)內(nèi)容’)count = 1class TestView1api(View): def dispatch(self, request, *args, **kwargs): ''' 請求到來之后,都要執(zhí)行dispatch方法,dispatch方法根據(jù)請求方式不同觸發(fā) get/post/put等方法 注意:APIView中的dispatch方法有好多好多的功能 ''' return super().dispatch(request, *args, **kwargs) def get(self, request, *args, **kwargs): global count name = ['襯衫','羊毛衫','雪紡衫','褲子','高跟鞋','襪子'] data = [56+count, 40+count, 54+count, 23+count, 12+count, 31+count] count = count + 1 print(data) print(count) ret = {’name’: name, ’data’: data} return HttpResponse(json.dumps(ret)) def post(self, request, *args, **kwargs): return Response(’POST請求,響應(yīng)內(nèi)容’) def put(self, request, *args, **kwargs): return Response(’PUT請求,響應(yīng)內(nèi)容’)

基于Django快速集成Echarts代碼示例

echarts異步加載+異步更新

在上個示例的基礎(chǔ)上,修改test2.html如下:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Title</title> <!-- 引入 jquery.js--> <script src='http://code.jquery.com/jquery-latest.js'></script> <!-- 引入 echarts.js --> {% load static %} <script src='http://m.b3g6.com/bcjs/{% static ’/js/echarts.min.js’ %}'></script></head><body> <div style='width: 600px;height:400px;'></div> <script type='text/javascript'> $(function () { var server_info; // 基于準(zhǔn)備好的dom,初始化ECharts實例 var myChart = echarts.init(document.getElementById(’main’)); // 指定圖表的配置項和數(shù)據(jù) var option = { title: {text: ’ECharts 入門示例’ }, tooltip: {}, legend: {data: [’銷量’] }, xAxis: {data: [] }, yAxis: {}, series: [{name: ’銷量’,type: ’bar’,data: [] }] }; myChart.setOption(option, true); // 異步加載json格式數(shù)據(jù) $.getJSON(’http://127.0.0.1:8080/test1_api/’, function (data) { myChart.setOption({xAxis: { data: data.name},series: [{ // 根據(jù)名字對應(yīng)到相應(yīng)的系列 data: data.data}] }); }); // ajax異步更新json格式數(shù)據(jù) setInterval( function () {$.ajax({ type: ’GET’, url: ’/test1_api/’, dataType: ’json’, success: function (arg) { server_info = eval(arg); option.xAxis.data = server_info.name; option.series[0].data = server_info.data; }}); myChart.setOption(option, true);}, 2000); window.onresize = function () { myChart.resize(); }; }); </script></body></html>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Django
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
福利一区视频| 久久精品国产网站| 亚洲乱码一区| 亚洲一区成人| 日韩精品一区第一页| 中文字幕亚洲精品乱码| 在线精品观看| 日韩三级视频| 欧美片第1页综合| 国产伦理久久久久久妇女| 日本免费一区二区视频| 奇米狠狠一区二区三区| 国产精品v亚洲精品v日韩精品| 国产亚洲精品精品国产亚洲综合| 国产精品大片| 国产精品久久久久毛片大屁完整版| 国产精品一页| 蜜臀va亚洲va欧美va天堂| 久热re这里精品视频在线6| 九一国产精品| 亚洲一级淫片| 日韩不卡一区二区三区 | 国产女人18毛片水真多18精品| 国产精品调教| 日韩欧美字幕| 蜜臀av一区二区三区| 国产毛片精品| 欧美黄色网页| 91国内精品| 日韩国产网站| 欧美日一区二区| 91精品国产自产观看在线| 黄色网一区二区| 首页亚洲欧美制服丝腿| 欧美一区影院| 亚洲激情欧美| 欧美激情综合| 快she精品国产999| 国产在线一区不卡| 久久美女精品| 久久99影视| 99视频精品| 高清一区二区| 在线观看亚洲精品福利片| 97精品国产| 国产精品66| 久久精品一区二区不卡| 久久精品97| 国产亚洲福利| 超碰成人av| 国产精品多人| 日韩激情视频网站| 男女性色大片免费观看一区二区 | 亚洲精品**中文毛片| 欧美黑人做爰爽爽爽| 蜜桃视频一区二区| 亚洲尤物在线| 99视频精品视频高清免费| 成人在线观看免费视频| 香蕉久久久久久久av网站| 另类中文字幕国产精品| 久久一区亚洲| 久久国产尿小便嘘嘘| 综合欧美精品| 亚洲精一区二区三区| 综合激情网...| 亚洲精选91| 91精品日本| 国产精品免费精品自在线观看| 日本午夜精品| 欧美日本三区| 美腿丝袜亚洲三区| 精品视频在线观看网站| 九九99久久精品在免费线bt| 久久精品xxxxx| 日韩av字幕| 国产精品亚洲欧美一级在线| 国产一区 二区| 麻豆一区二区在线| 高清一区二区| 久久中文字幕二区| 夜夜嗨av一区二区三区网站四季av| 黄色免费成人| 亚州精品视频| 精品视频在线观看网站| 久久九九99| 亚洲色图网站| 亚洲欧美伊人| 91成人在线网站| 亚洲男人在线| 欧美片第1页综合| 久久福利在线| 一本大道色婷婷在线| 91精品国产福利在线观看麻豆| 免费黄色成人| 日韩福利视频网| 国产精品久久观看| 日本va欧美va瓶| 99国产精品99久久久久久粉嫩| 国产99久久久国产精品成人免费| 国产综合欧美| 日韩av中文在线观看| 久久久久久亚洲精品美女| 91tv亚洲精品香蕉国产一区| 日韩**一区毛片| 欧美日韩1区2区3区| 国产日韩三级| 麻豆mv在线观看| av高清不卡| 亚洲影院天堂中文av色| 国产精品白丝一区二区三区| 神马久久午夜| 亚洲精品系列| 精品精品久久| 亚洲成人免费| 国产福利资源一区| 久久婷婷丁香| 欧美1区2区3| 国产精品日本| 91免费精品| 亚洲精品永久免费视频| 亚洲精品一二| 性欧美xxxx免费岛国不卡电影| 日韩激情一二三区| 欧美日韩国产精品一区二区亚洲| 免费看一区二区三区| 亚洲欧洲一区| 麻豆中文一区二区| 亚洲欧美日本国产| 欧美亚洲精品在线| 国产精品久久久久久久久久白浆 | 99riav国产精品| 久久精品国产大片免费观看| 你懂的国产精品永久在线| 日韩成人午夜精品| 日韩中文字幕av电影| 久久精品国产68国产精品亚洲| 狠狠久久伊人| 麻豆精品蜜桃视频网站| 日韩国产在线不卡视频| 久久av一区二区三区| 日韩毛片在线| 9999国产精品| 日韩高清成人| 精品一区二区三区在线观看视频 | 鲁鲁在线中文| 日韩黄色大片网站| 欧美综合精品| 中文字幕在线视频久| 中文欧美日韩| 国产+成+人+亚洲欧洲在线| 国产精品久久久久久av公交车| 一区在线免费观看| 亚洲性色视频| 精品美女视频| 日韩成人综合| 精品一区二区三区中文字幕视频 | 深夜福利亚洲| 精品日韩一区| 婷婷激情一区| 日本不卡视频在线观看| 亚洲爱爱视频| 亚洲国产影院| 久久av偷拍| 日韩高清一区二区| 久久国产电影| 日本va欧美va精品| 欧美偷窥清纯综合图区| 老司机久久99久久精品播放免费| 一区二区精品伦理...| 久久久久国产精品一区三寸| 日本不卡在线视频| 欧美大黑bbbbbbbbb在线| 美国欧美日韩国产在线播放| 国产在线观看91一区二区三区| 欧美网站在线| 国产一区二区三区不卡av| 少妇精品久久久| 国产视频亚洲| 99免费精品| 超碰99在线| 日韩在线电影| 久久高清一区| av免费不卡国产观看| 国产精品伊人| 日韩精品久久久久久久软件91| 欧美理论视频| 欧美丝袜一区| 麻豆网站免费在线观看| 精品视频免费| 精品网站aaa| 蜜桃精品视频| 日韩精品欧美激情一区二区| 福利一区二区免费视频| 精品久久亚洲| 久久精品国内一区二区三区| 日本成人在线不卡视频| 欧美日本三区| 国产精品.xx视频.xxtv| 国产福利一区二区三区在线播放|