Django+Ajax異步刷新/定時自動刷新實例詳解
前言
分享一下最近在學習Django過程中,遇到和解決的一些有趣的方法和問題
一、Django是什麼?
Django也不用在過多的去介紹瞭。使用python進行web開發的基本上都在用著框架,反正大傢都在用,哈哈哈
二、Ajax異步刷新
1.jQuery語法下的Ajax運用
代碼如下(示例):
$.ajax( { type:"GET", url:"/ajax_loadavg", dataType:"json", success:function (data) { json_data = data }
當然大傢別忘瞭在頁面引入jQuery的源
<script src="{%%20static%20'Privilege/vendor/jquery/jquery.min.js'%}"></script>
通過這種方式,可以實現異步數據更新,做到隻刷新部分頁面而不需要整個頁面進行刷新!!!
2.定時刷新頁面的樣例
這裡面使用chartist響應式圖標作為案例,設定每15s中對圖表進行一次刷新。
HTML5代碼示例如下:
<div id="headline-chart" class="ct-chart"></div>
jQuery代碼示例如下:
setInterval(function () { $.ajax( { type:"GET", url:"/ajax_loadavg", dataType:"json", success:function (data) { json_data = data data = { labels: [0, 10, 20, 30, 40, 50, 60], series: [ [1, 2, 3, 4, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], ] }; options = { height: 300, showArea: true, showLine: false, showPoint: false, fullWidth: true, axisX: { showGrid: false, showLabel: false }, lineSmooth: false, }; new Chartist.Line('#headline-chart', data, options); } },15000)
Django 視圖(view)代碼如下:
註意:此處隻是展示Ajax與Django如何進行交互,Ajax獲取的JSON數據並未進行利用!
@csrf_exempt def ajax_loadavg(request): if request.method == 'GET': context = {'output_loadavg':output_loadavg} return HttpResponse(json.dumps(context))
url配置
path('ajax_loadavg/', views.ajax_loadavg, name='ajax_loadavg'),
3.展示效果
總結
感興趣的小夥伴可以參看,也希望有想法的小夥伴,評論區多多發表意見!!!
Chartist圖表官網鏈接
http://gionkunz.github.io/chartist-js/
到此這篇關於Django+Ajax異步刷新/定時自動刷新的文章就介紹到這瞭,更多相關Django Ajax定時自動刷新內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- jQuery中ajax的相關知識點匯總
- Django動態展示Pyecharts圖表數據的幾種方法
- Django利用AJAX技術實現博文實時搜索
- 關於Ajax的疑難雜癥詳解
- ajax在js中和jQuery中的用法實例詳解