'Request' object has no attribute 'META'报错解决
生活随笔
收集整理的這篇文章主要介紹了
'Request' object has no attribute 'META'报错解决
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代碼如下:
?
class OrderShipping(LoginRequiredMixin, View):def get(self, request):print("request=",request)shipping_company = request.GET.get("shipping_company")shipping_no = request.GET.get("shipping_no")print("shipping_no=",shipping_no)print("shipping_company=",shipping_company)host = 'https://wuliu.market.alicloudapi.com'path = '/kdi'method = 'GET'appcode = '77652ce3404e414db47d39f58369673e'querys='no='+shipping_no+'&type='+shipping_company# querys = 'no=780098068058&type=zto'#這里需要改掉# no=821383779152&type=SFEXPRESSprint("querys=",querys)bodys = {}url = host + path + '?' + querysrequest = urllib2.Request(url)#這里不能取名叫request,否則會覆蓋入口request.add_header('Authorization', 'APPCODE ' + appcode)ctx = ssl.create_default_context()ctx.check_hostname = Falsectx.verify_mode = ssl.CERT_NONEresponse = urllib.request.urlopen(request, context=ctx)content = response.read()print("得到的物流信息是:",content)print(type(content.decode("utf-8")))# return content.decode("utf-8") # if (content):# print(content.decode("utf-8"))return render(request,'shipping_content.html',{'content':json.loads(content.decode("utf-8"))})解決方案:
class OrderShipping(LoginRequiredMixin, View):def get(self, request):print("request=",request)shipping_company = request.GET.get("shipping_company")shipping_no = request.GET.get("shipping_no")print("shipping_no=",shipping_no)print("shipping_company=",shipping_company)host = 'https://wuliu.market.alicloudapi.com'path = '/kdi'method = 'GET'appcode = '77652ce3404e414db47d39f58369673e'querys='no='+shipping_no+'&type='+shipping_company# querys = 'no=780098068058&type=zto'#這里需要改掉# no=821383779152&type=SFEXPRESSprint("querys=",querys)bodys = {}url = host + path + '?' + querysrequests = urllib2.Request(url)#這里不能取名叫request,否則會覆蓋入口requests.add_header('Authorization', 'APPCODE ' + appcode)ctx = ssl.create_default_context()ctx.check_hostname = Falsectx.verify_mode = ssl.CERT_NONEresponse = urllib.request.urlopen(requests, context=ctx)content = response.read()print("得到的物流信息是:",content)print(type(content.decode("utf-8")))# return content.decode("utf-8") # if (content):# print(content.decode("utf-8"))return render(request,'shipping_content.html',{'content':content.decode("utf-8")})原因是:
阿里云物流的api的Python樣例里面的request覆蓋了此處類視圖中的request。
所以把api里面的request重命名為requests即可。
總結
以上是生活随笔為你收集整理的'Request' object has no attribute 'META'报错解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux下面把png文件转化为背景透明
- 下一篇: Flask的jinja输出json内容