网络编程
位置:首页>> 网络编程>> Python编程>> Django+Ajax异步刷新/定时自动刷新实例详解

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

作者:Halo-Z  发布时间:2023-11-29 11:28:15 

标签:django,ajax,自动刷新

前言

分享一下最近在学习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.展示效果

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

来源:https://blog.csdn.net/qq_36845718/article/details/125553615

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com