8.5

利用ajax删除书籍,以及书籍分页,上传文件。

一:利用ajax的删除书籍:
url: 加/与不加/的区别: 前面加/
ajax的 url 匹配的 python urls的path(‘2/’) jango中会将自动让客户端重新发送一个带/ 重定向get的请求

利用ajax删除图书:
1.在views里面删除数据

2.在jq里面进行dom操作,删除点击中的标签(remove)。
选中标签:

$(’.buton’).attr(‘pk’) —选中按钮标签,获取url 其中属性的序列

二:ContentType: 获取上传文件数据的封装格式:
request.POST
request.GET
request.body

发送接送数据给服务器:
发送者,使用ajax:

$.ajax({
url:’’,
type:’’,
contentType:“json”,
data:JSON.stringify({
num1:num1
}),
})

三,文件上传

第一种:
form表单提交:
enctype=“multipart/form-data”

服务端,jdango:data=json.loads(request.body.decode('utf8'))  	#request.POST/GET只能解开urlencode类型

第二种:ajax提交

$('.input')[0].files[0]		---------》不能直接放入data里面,格式不对
获取input标签,获取dom对象,获取对象属性的files内容取第一个。		jq知识-操作

使用formData:转化成ajax能传输的格式(键值对):

必须加
	contentType:false,
        		processData:false,

(自己写html时候,忘记改input type='submit’了,报错。)----------细心
os操作:os.path.join(1,2)------>

request.meta()#获取HTML——ajax的 headers。
headers:{“X-CSRFTOKEN”}=$.cookie(‘csrftoken’)

四,分页https://www.cnblogs.com/yuanchenqi/articles/9036515.html

python的内置函数:关于分页器
book_list=Book.objects.all() #取出数据库里的全部书籍
paginator=Paginator(book_list,8) #分每页8组
current_page=request.GET.get(“page”,1) #获取上传要求的第几页默认为1
page_obj=paginator.page(current_page) #取出要求页数的数据

html使用bootstrap分页:

html使用
page_obj.has_previous(判断是否有上一页) page_obj.has_next判断是否有下一页
page_obj.previous_page_number(上一页的数字)
paginator.page_range(****_range,遍历)
批量插入:
bulk_create(book_list)

分页书籍

通过点击a标签,发送get请求,views函数通过request.获取?后面的书籍page=页数,返回当前页数的数据
html for循环展示当前的数据,前一页,后一页需要对其进行判定,

ps:

  1. jq,bootstarp的执行顺序:如果不加入载入函数,则将要吧

})

$(".ajax_file_obj")[0].files[0]

$(".ajax_file_obj")[0]:转化为js的对象。
$(".ajax_file_obj")[0].files:js的files方法,获取上传的全部文件。
$(".ajax_file_obj")[0].files[0]:获取上传文件的第一个内容既文件。

var formdata=new Formdata
formdata.append(“file_obj”?(‘btn’)[0])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值