Django结合ajax进行页面实时更新的例子
Django结合ajax进行页面实时更新踩过的坑
简单记录一下在使用Django、echarts和ajax实现数据动态更新时遇到的一些坑:
1、url配置错误,路径没有找对(最后使用绝对路径)
2、后台(view.py)传的数据类型不对导致
3、没有配置js源,根本发不出ajax请求(第一次接触js,根本不知道这个大坑。。)
4、不知道哪里报错可以根据XMLHttpRequest.status、XMLHttpRequest.readyState和textStatus进行分析
5、(现在还没弄明白的)在view.py)中向前端传数据的函数需要加上@csrf_exempt,不然根本不可能成功(在这个坑找了好久,科学上网才查到)
1、ajax参数:
$.ajax({ url:'http://127.0.0.1:8000/hiapp/goData/', type:"Post", data: {}, dtype:'list', success: function (da) { alert("success") }, error: function (XMLHttpRequest, textStatus,errorThrown) { alert("fail "+XMLHttpRequest.status+" " XMLHttpRequest.readyState+" "+textStatus);}
2、view.py示例
@csrf_exempt def goData(request): if request.method=='POST' : a = range(100) list1=random.sample(a,7) list2=random.sample(a,7) list3=random.sample(a,7) return HttpResponse(json.dumps({"list1":list1,"list2":list2,"list3":list3}))
生成了三组随机数,没有报错的话会传给ajax的success
3、url.py
urlpatterns = [ url(r'^goData/$',views.goData,name='goData'), ]
4、最后就是要 记得引入相应的文件(js和echarts)
以上这篇Django结合ajax进行页面实时更新的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。