- 默写ajax基本语法,及提交json数据和文件都需要添加哪些额外参数
ajax基本语法(jquery版):
$.ajax({
url:'',#不写默认朝当前页面提交
type:'post',#不写默认提交方式为get
data:{},提交数据
dataType:'json',
success:function(args){ #异步回调函数机制
alert(args);
}
})
ajax请求的数据默认编码格式是urlencoded
提交json格式数据
需要添加参数
data:JSON.stringify({'name':'jason','age':18})
contentType:'application/json' //指定编码格式
提交文件需要添加参数
contentType:false,// 不需使用任何编码 django后端能够自动识别formdata对象
processData:false,// 告诉你的浏览器不要对你的数据进行任何处理
2.什么是序列化,截止目前为止你所接触过的序列化有哪些。
序列化主要是将数据转成一种标准的格式,便于不同编程语言之间的数据交互,比如前后端分离开发,数据交互需要使用json序列化。
后端普通序列化 前端序列化
json.dumps(data_dic) JSON.stringify(data_dic)
json.loads(data_str) JSON.parse(data_str)
django后端
from django.http import JsonResponse
return JsonReponse(info_list,safe=false,json_dumps_params={'ensure_ascii':false})
django自带的序列化组件
from django.core import serializers
user_queryset = models.User.objects.all()
res = serializers.serialize('json', user_queryset) //前面一个参数为数据格式,后面的参数必须为一个queryset对象
3.批量插入数据需要注意什么,orm批量插入数据的语法?
orm批量插入数据的语法bulk_create()语法:
book_list=[]
for i in range(10000):
book_obj=models.Book(title='第%s本书' % (i,))
book_list.append(book_obj)
models.Book.objects.bulk_create(book_list)
4.当需要展示的数据量特别多的情况下,会采取什么优化措施,你能否简要描述一下该措施的实施思路,以及该措施具体应用下的操作步骤
采取分页措施
(1)get请求可以携带数据 url?page=1
(2)queryset对象支持索引切片操作 book[page_obj.start:page_obj.end]
5.简述面相对象的三大特性及特点,其中你认为哪个特性使用频率最高,为什么。
封装,继承,多态
封装用的比较频繁,因为python中一切皆对象,我们无时不刻不在使用封装的后的结果,比如一些方法。