当前位置:   article > 正文

Django+Ajax异步刷新/定时自动刷新_django定时刷新页面

django定时刷新页面

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

分享一下最近在学习Django过程中,遇到和解决的一些有趣的方法和问题


一、Django是什么?

Django也不用在过多的去介绍了。使用python进行web开发的基本上都在用着框架,反正大家都在用,哈哈哈

二、Ajax异步刷新

1.jQuery语法下的Ajax运用

代码如下(示例):

  $.ajax(
            {
                type:"GET",
                url:"/ajax_loadavg",
                dataType:"json",
                success:function (data) {
                    json_data = data
                    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

当然大家别忘了在页面引入jQuery的源

<script src="{% static 'Privilege/vendor/jquery/jquery.min.js'%}"></script>
  • 1

通过这种方式,可以实现异步数据更新,做到只刷新部分页面而不需要整个页面进行刷新!!!

2.定时刷新页面的样例

这里面使用chartist响应式图标作为案例,设定每15s中对图表进行一次刷新。

HTML5代码示例如下:

<div id="headline-chart" class="ct-chart"></div>
  • 1

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

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))

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

url配置

path('ajax_loadavg/', views.ajax_loadavg, name='ajax_loadavg'),
  • 1

3.展示效果

可以替换series部分的数据,进行展示


总结

感兴趣的小伙伴可以参看,也希望有想法的小伙伴,评论区多多发表意见!!!

Chartist图表官网链接

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/224311
推荐阅读
相关标签
  

闽ICP备14008679号