日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Django+Ajax異步刷新/定時自動刷新實例詳解_python

作者:Halo-Z ? 更新時間: 2022-12-01 編程語言

前言

分享一下最近在學習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="{% static '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.展示效果

可以替換series部分的數據,進行展示

總結

感興趣的小伙伴可以參看,也希望有想法的小伙伴,評論區多多發表意見?。。?/p>

Chartist圖表官網鏈接

http://gionkunz.github.io/chartist-js/

原文鏈接:https://blog.csdn.net/qq_36845718/article/details/125553615

欄目分類
最近更新