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

1993 0
王子 2022-11-9 19:01:20 | 显示全部楼层 |阅读模式
目录

    前言 一、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.展示效果




总结

感兴趣的小伙伴可以参看,也希望有想法的小伙伴,评论区多多发表意见!!!
Chartist图表官网链接
http://gionkunz.github.io/chartist-js/
到此这篇关于Django+Ajax异步刷新/定时自动刷新的文章就介绍到这了,更多相关Django Ajax定时自动刷新内容请搜索中国红客联盟以前的文章或继续浏览下面的相关文章希望大家以后多多支持中国红客联盟!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行