python学习第七十六天:查询续与ajax

查询分组

事例:统计不止一个作者的图书:(作者数量大于一)
Book.objects.all().values('name').annotate(author_num=Count('authors__name')).
    filter(author_num__gt=1).values('name','author_num') 总结:valu再annotate前,代表group by 的字段,不写value,默认以基表的主键做group by 在后代表我要select出来的字段 #filter在前,代指where的东西,在后,代表having 的东西 

ajax应用:

什么是Ajax

AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)。

优点:

  • AJAX使用Javascript技术向服务器发送异步请求
  • AJAX无须刷新整个页面
1 基本应用:
	 $.ajax({
        url:'/ajax_next/',
        type:'get', data:{'n1':n1,'n2':n2}, success:function (data) { alert(data) $("#sum").val(data) } }) views中在get中取出 2 提交json数据 $('#btn').click(function () { let name = $('[name="name"]').val(); let password = $('[name="pwd"]').val(); let ss=JSON.stringify({'name':name,'pwd':password}); let a = JSON.parse(ss); # json反解,在这里没有用 $.ajax({ url:'/test/', method:'post', contentType:'application/json', data:ss, success:function (date) { alert(date) } }) }) views中需要自己从body取出来,后续处理 3 上传文件: $(".btn").click(function () { var formdata=new FormData(); console.log(typeof formdata); formdata.append('name',$('[name="name"]').val()); formdata.append('pwd',$('[name="pwd"]').val()); formdata.append('myfile',$("#myfile")[0].files[0]); console.log(formdata); $.ajax({ url: '/ajax_next/', type: 'post', contentType: false, //告诉jQuery不要去处理发送的数据 processData:false, // 告诉jQuery不要去设置Content-Type请求头 data: formdata, success: function (data) { alert(data) } }) }) views中需要自己从POST与body中取出来,后续处理

猜你喜欢

转载自www.cnblogs.com/luck-L/p/9636937.html