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


目录
  • 前言
  • 一、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定时自动刷新内容请搜索3672js教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持3672js教程!

    您可能感兴趣的文章:
    • django+js+ajax实现刷新页面的方法
    • django ajax提交评论并自动刷新功能的实现代码

    评论关闭