博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Djiango ajax请求数据/分页器
阅读量:5083 次
发布时间:2019-06-13

本文共 2261 字,大约阅读时间需要 7 分钟。

一、ajax请求数据

1、ajax模板

$.ajax({    url: '/ajax/',   # 请求路径    type: 'post',   # 请求方式    data: {          # get和post都以data字典方式携带数据        usr: $('.usr').val(),    # 获取输入框内容        pwd: $('.pwd').val(),  # jquery对象是包含js对象的数组,可以通过.get(0)来获取js对象    },    success: function (data) {        console.log(typeof(data), data);    # 得到后台返回的数据(普通字符串 | json类型数据)    }})

2、后端返回ajax数据的三种方式

# ajax请求,后台只需要返回信息,所以不会出现render、redirectdef ajax(request):    print(request.is_ajax())  # 是否是ajax请求    if request.method == 'GET':  # 获取get请求数据        usr = request.GET.get('usr', None)        pwd = request.GET.get('pwd', None)    if request.method == 'POST':  # 获取post请求数据        usr = request.POST.get('usr', None)        pwd = request.POST.get('pwd', None)        #1、 返回字符串类型数据    # return HttpResponse('OK')  # ***    #2、 返回json类型数据    dic = {
'status': 'ok', 'msg': '登录成功'} data = json.dumps(dic, ensure_ascii=False) # 直接返回json模块处理后的json数据(json字符串),前台接收到的是一个json类型的字符串,需要前台自己处理 # return HttpResponse(data) # 返回json字符串是,还告诉前台,该数据就是json类型字符串,设置响应头 return HttpResponse(data, content_type='application/json') # **** from django.http import JsonResponse # 3、返回json类型数据的终极方法 dic = {
'status': 'ok', 'msg': '登录成功'} return JsonResponse(dic, safe=False, json_dumps_params={
'ensure_ascii': False}) # ***** # 参数含义: # 返回值保证是字典类型 # safe在False情况下就支持返回列表或字符串 # 取消json的dumps方法采用的默认ascii编码中文

二、分页器

  分页器对象的基本属性

from django.core.paginator import Paginator# 分页对象列表book_list = Book.objects.all()    # 所有书的对象# 分页对象paginator = Paginator(book_list, 6) # 分页对象列表,每一页对象(最大)数(6)
current_page = paginator.page(current_num)   # current_num为当前页面  current_page为当前页面下的所有对象(即本页所需要展示的数据)
# 对象总个数count = paginator.count# 总分页数num_pages = paginator.num_pages# 页码列表(可迭代对象)   # 各页中所需要显示的对象page_range = paginator.page_range# 某一具体页page = paginator.page(3)  # 具体第几页# 是否有上一页page.has_previous()# 上一页编码page.previous_page_number()# 是否有下一页page.has_next()# 下一页编码page.next_page_number()

三、数据库的批量插入

book_list = []for i in range(100):    book = Book(name='book%s' % i, price=11.11, publish_date='2018-1-1', publish_id=1)    book_list.append(book)# 操作对象列表,一次操作多少条数据Book.objects.bulk_create(book_list, 20)  # 插入100条数据只需要执行5次sql

 

转载于:https://www.cnblogs.com/peng-zhao/p/10511651.html

你可能感兴趣的文章
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>
Mongo自动备份
查看>>
cer证书签名验证
查看>>
synchronized
查看>>
【深度学习】caffe 中的一些参数介绍
查看>>
Python-Web框架的本质
查看>>
QML学习笔记之一
查看>>
Window 的引导过程
查看>>
App右上角数字
查看>>
从.NET中委托写法的演变谈开去(上):委托与匿名方法
查看>>
小算法
查看>>
201521123024 《java程序设计》 第12周学习总结
查看>>
新作《ASP.NET MVC 5框架揭秘》正式出版
查看>>
IdentityServer4-用EF配置Client(一)
查看>>
WPF中实现多选ComboBox控件
查看>>
读构建之法第四章第十七章有感
查看>>
Windows Phone开发(4):框架和页 转:http://blog.csdn.net/tcjiaan/article/details/7263146
查看>>
Unity3D研究院之打开Activity与调用JAVA代码传递参数(十八)【转】
查看>>
python asyncio 异步实现mongodb数据转xls文件
查看>>