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

网站设计与开发专业wordpress电脑主题

网站设计与开发专业,wordpress电脑主题,html5网站建设方案,有没有建网站的app前端页面报错: 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/564989/

相关文章:

  • 旅行社网站的建设开题报告k8team wordpress
  • 杭州做网站价格百度软件开放平台
  • 网站建设seo视频教程免费云电脑永久使用
  • 石家庄校园兼职网站建设网站建设入什么费用
  • 湖南省建设工程招标网莱阳seo排名
  • 建设网站需要哪些设备无锡网站制作无锡做网站
  • 成都网站制作电话望野博物馆
  • 有哪些可以做翻译的网站国内软件外包公司
  • 跨境电商软件erp排名南京seo招聘
  • 莱芜做网站的商家有哪些廊坊关键词优化
  • 内衣网站建设推广dz做电影网站
  • 免费网站建设品牌好微网站 尺寸
  • 网站开发语言在那看出来重庆网站建
  • 重庆忠县网站建设公司推荐网站怎么投放广告
  • 游戏网站怎么做seoapp制作收费价目表
  • dede图片网站模板php做的网站怎么上传
  • 用html做网站免费企业建站系统源码
  • wordpress主题结合搭建网站seo
  • 在线做logo的网站浙江省建设执业注册中心网站
  • 会员型网站石嘴山网站定制开发建设
  • 昆明企业自助建站ftp上传网站之后
  • 云南做商城网站多少钱wordpress 萌化
  • 59网站一起做网店女鞋网站备案核验照片背景
  • 做一个专业的网站多少钱凡科网电脑版怎么做网站
  • 建设网站怎么入账比较好的网站开发项目
  • 怎样找素材做网站开网页慢是什么原因
  • 建个网站多少钱app深圳营销网站建设多少钱
  • 长沙市天心区城乡建设局网站sem竞价广告
  • 国家建设部防化工程师网站官网企业网是什么
  • 最全的网页模板网站网站建设方案可行性