当前位置: 首页 > news >正文

七个php源码下载的网站wordpress 群

七个php源码下载的网站,wordpress 群,昆明建网站电话,软件工程造价师前端页面报错: 1、页面报错500,首先我们可以知道是服务端的问题,需要去看下服务端的报错信息: 2、首先我们查看下前端是否给后端传了id: 我们可以看到接口是把ID返回了,就需要再看下p_id是什么情况了。 3、我们再次请…

前端页面报错:

在这里插入图片描述

1、页面报错500,首先我们可以知道是服务端的问题,需要去看下服务端的报错信息:

在这里插入图片描述

2、首先我们查看下前端是否给后端传了id:

在这里插入图片描述

我们可以看到接口是把ID返回了,就需要再看下p_id是什么情况了。

3、我们再次请求,把p_id进行打印,看下具体是什么:

在这里插入图片描述

put接口代码:

class PutView(BaseView):def put(self, request):# Django 并没有处理PUT数据,不可以使用request.PUT# 实际put传过来的数据是在request.body中,而获取到的数据是:b'name=%E5%8F%82%E6%95%B06&desc=%E5%8F%82%E6%95%B06%E6%8F%8F%E8%BF%B0&value=100866'# 需要导入 from django.http import QueryDict,QueryDict(request.body)} 处理下# 更新数据:需要告知是具体更新哪一条数据# 获取要更新哪条数据的主键idp_id = request.PUT.get('id')print('p_id',p_id)# 通过id 从数据库中取这条数据 objdata_obj = self.model.objects.get(id=p_id)# 第一个参数:前端传过来的数据# 第二个参数(instance):数据库获取的,要更新的对象form_obj = self.form(request.PUT, instance=data_obj)if form_obj.is_valid():# 通过 form中的save方法进行数据更新form_obj.save()return NbResponse()# return JsonResponse({"code": 200, "msg": "put接口数据更新成功"})else:return NbResponse(code=500,msg=form_obj.errors.get_json_data())
middle_wares.py:
class PutMethodMiddleware(MiddlewareMixin):def process_request(self, request):# 请求过来之后,先走到这里if request.method == 'PUT':request.PUT = QueryDict(request.body)

分析:因Django中没有PUT 方法,是我们在 middle_wares.py 中分装了后实现的PUT 方法,所以我们就需要看下【QueryDict(request.body)】返回的是什么:

class PutMethodMiddleware(MiddlewareMixin):def process_request(self, request):# 请求过来之后,先走到这里if request.method == 'PUT':print('QueryDict(request.body)===',QueryDict(request.body))request.PUT = QueryDict(request.body)

结果:

QueryDict(request.body)=== <QueryDict: {'------WebKitFormBoundarycRPtgGxEmmEAlBmC\r\nContent-Disposition: form-data': [''], ' name': ['"name"\r\n\r\n继
续测试111\r\n------WebKitFormBoundarycRPtgGxEmmEAlBmC\r\nContent-Disposition: form-data', '"value"\r\n\r\n继续测试\r\n------WebKitFormBoundarycRPtgGxEmm
EAlBmC\r\nContent-Disposition: form-data', '"desc"\r\n\r\n继续测试\r\n------WebKitFormBoundarycRPtgGxEmmEAlBmC\r\nContent-Disposition: form-data', '"id"
\r\n\r\n19\r\n------WebKitFormBoundarycRPtgGxEmmEAlBmC--\r\n']}>

我们可以发现数据格式并不是我们以往的那样,我就需要回到前端中查看下【Request Headers】中的信息:

在这里插入图片描述

Content-Type发生了变化,所以传过来的数据也发生了变化,所以后端代码就需要把代码进行调整,兼容这种传递的方式。

查验源码后,进行调整:

class PutMethodMiddleware(MiddlewareMixin):@staticmethoddef process_request(self, request):# 请求过来之后先走到这里,然后再去请求视图if request.method == 'PUT':if 'boundary' in request.content_params.kes():put_data,files = request.parse_file_upload(request.MEAT,request)request.PUT = put_datarequest._files = files # 是因为request.FILES 里面取值的时候,就是_fileselse:request.PUT = QueryDict(request.bady)

已可正常修改无报错:

在这里插入图片描述

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

http://www.yayakq.cn/news/548339/

相关文章:

  • 上海法律网站建设专业的网店交易平台
  • 一个空间可以做多个网站吗餐饮管理系统下载
  • 网站 成功案例长沙好的设计公司
  • seo的形式有哪些专业搜索引擎优化电话
  • 南京江宁区住房建设局网站一站式服务大厅官网
  • 东铁匠营网站建设公司百度认证怎么认证
  • 品牌网站建设推广wordpress底部通知
  • 商城网站建设方案流程网站维护内容和方法
  • 网站建设的基础常识杭州市建设工程招标网
  • 免费开源cms网站源码萍乡网站建设哪家公司好
  • 免费网站建设专业的公司cms适合做什么网站
  • 怎么在百度建设一个网站简述网络营销服务的特点
  • 孝感网站建设简单的网站开发流程
  • 浙江省建设厅执业资格注册中心网站动漫网站开发
  • 网站开发技术期中试题公司网站访问非法网站的作用
  • 河南省和建设厅网站首页logo设计理念怎么写
  • 重庆建设银行网站首页网站500错误 虚拟主机
  • 网站设计公司市场容量怎么建设自己收费网站
  • 深圳做营销网站公司哪家好wordpress 发布商品
  • 公司网站制作可以使用开源系统吗宁波网站建设地址
  • 用asp做的网站有哪些河源市住房和城乡规划建设局网站
  • 建设网站的合同东莞市网站建设制作设计平台
  • 广州外贸网站开发wordpress主题查看
  • 做网站一个月需要多少钱公司网站模板侵权案例
  • 外语网站开发网站建设和客户面谈
  • 个人网站开发教程西安seo优化培训
  • 青岛微网站制作做网站赚钱
  • 吉林网站优化合肥网站建设q479185700惠
  • 建站系统主要包括最新软件发布平台
  • 邀请码网站怎么做帝国cms做淘宝客网站