Django+Ajax異步刷新/定時自動刷新實例詳解
前言
分享一下最近在學(xué)習(xí)Django過程中,遇到和解決的一些有趣的方法和問題
一、Django是什么?
Django也不用在過多的去介紹了。使用python進行web開發(fā)的基本上都在用著框架,反正大家都在用,哈哈哈
二、Ajax異步刷新
1.jQuery語法下的Ajax運用
代碼如下(示例):
$.ajax( { type:"GET", url:"/ajax_loadavg", dataType:"json", success:function (data) { json_data = data }
當然大家別忘了在頁面引入jQuery的源
<script src="{% static 'Privilege/vendor/jquery/jquery.min.js'%}"></script>
通過這種方式,可以實現(xiàn)異步數(shù)據(jù)更新,做到只刷新部分頁面而不需要整個頁面進行刷新?。?!
2.定時刷新頁面的樣例
這里面使用chartist響應(yīng)式圖標作為案例,設(shè)定每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數(shù)據(jù)并未進行利用!
@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.展示效果
總結(jié)
感興趣的小伙伴可以參看,也希望有想法的小伙伴,評論區(qū)多多發(fā)表意見?。?!
Chartist圖表官網(wǎng)鏈接
http://gionkunz.github.io/chartist-js/
到此這篇關(guān)于Django+Ajax異步刷新/定時自動刷新的文章就介紹到這了,更多相關(guān)Django Ajax定時自動刷新內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
通過Py2exe將自己的python程序打包成.exe/.app的方法
這篇文章主要介紹了通過Py2exe將自己的python程序打包成.exe/.app的方法,需要的朋友可以參考下2018-05-05python如何用matplotlib創(chuàng)建三維圖表
這篇文章主要介紹了python如何在matplotlib中創(chuàng)建三維圖表,幫助大家更好的利用python進行數(shù)據(jù)分析,感興趣的朋友可以了解下2021-01-01Pycharm遠程調(diào)試和MySQL數(shù)據(jù)庫授權(quán)問題
這篇文章主要介紹了Pycharm遠程調(diào)試和MySQL數(shù)據(jù)庫授權(quán)問題,文章內(nèi)容介紹詳細,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)或工作有所幫助2022-03-03