Django之ajax
前后端传输数据的编码格式(理论篇)
"""
只研究post请求的编码格式,get不研究
url?username=xxx&password=yyy,这就是get提交的
"""
form表单能够2种:
1. urlencoded
2. form-data
能够提交json的格式有:
1. ajax
2. 第三方工具:postman
form表单提交数据的编码格式:
1. 默认是urlencoded(显示为application/x-www-form-urlencoded)
2. 也可手动修改为form-data(显示为multipart/form-data)
ajax默认的提交格式是:Content-Type: application/x-www-form-urlencoded
django后端也是把数据都封装到了request.POST中
ajax提交json格式的数据
ajax提交json格式的数据:
1. content-type必须是:json(默认是urlencoded)
2. 传输的数据必须是json格式的
在Django后端使用request.body,可以获取ajax提交的json格式的数据
$.ajax({
url: '',
type: 'post',
data: JSON.stringify({'a': 1, 'b': 2, c: 3}),
// 更改contenttype
contentType:'application/json',
success: function () {
}
})
ajax提交文件数据
var myfile = $("#myfile")[0].files[0];
var myFormDataObj = new FormData();
var myFormDataObj = new FormData();
myFormDataObj.append('username', username);
myFormDataObj.append('password', password);
myFormDataObj.append('myfile', myfile);
$.ajax({
url: '',
type: 'post',
data: myFormDataObj,
contentType: false, // 告诉浏览器不要给我修改任何的编码格式
processData:false,// 告诉浏览器不要对我的数据进行任何的修改或者干扰
success: function () {
}
})
"""
总结:
1. var myFormDataObj = new FormData();
2. 获取数据,然后添加到myFormDataObj
myFormDataObj.append('password', password);
// 提交文件数据、
myFormDataObj.append('myfile', myfile);
3. 修改参数:
contentType: false, // 告诉浏览器不要给我修改任何的编码格式
processData:false,// 告诉浏览器不要对我的数据进行任何的修改或者干扰
4. 在django后端,普通数据还是在request.POST中,文件数据在
request.FILES里面
"""
ajax结合layer弹窗实现删除的二次确认
https://layuiweb.com/layer/index.htm
django自带的序列化组件(了解)
from django.core import serializers
def ab_ser(request):
user_list = models.Book.objects.all()
book_list = serializers.serialize('json', user_list)
return JsonResponse(book_list,safe=False)
批量插入数据
select * from app01 limit 1,500
select * from app01 limit 501,1000
select * from app01 limit 1001,1500
select * from app01 limit 99501,100000
from app01 import models
book_list = []
for i in range(100000):
book_obj = models.Book(username='%s' % i)
book_list.append(book_obj)
models.Book.objects.bulk_create(book_list)
'''以后再实际项目中,能够一次操作数据库完成的动作,就要尽量使用一次性的,'''
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用