当前位置 : 主页 > 编程语言 > python >

Django+Ajax异步刷新/定时自动刷新实例详解

来源:互联网 收集:自由互联 发布时间:2023-01-30
目录 前言 一、Django是什么? 二、Ajax异步刷新 1.jQuery语法下的Ajax运用 2.定时刷新页面的样例 3.展示效果 总结 前言 分享一下最近在学习Django过程中,遇到和解决的一些有趣的方法和问
目录
  • 前言
  • 一、Django是什么?
  • 二、Ajax异步刷新
    • 1.jQuery语法下的Ajax运用
    • 2.定时刷新页面的样例
    • 3.展示效果
  • 总结

    前言

    分享一下最近在学习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部分的数据,进行展示

    总结

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

    Chartist图表官网链接

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

    到此这篇关于Django+Ajax异步刷新/定时自动刷新的文章就介绍到这了,更多相关Django Ajax定时自动刷新内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

    上一篇:Python&nbsp;Flask前端自动登录功能实现详解
    下一篇:没有了
    网友评论