if response.get(“X-Frame-Options“) is not None:AttributeError: ‘Response‘ object has no attribute

报错提示

Traceback (most recent call last):

venv\lib\site-packages\django\core\handlers\exception.py", line 55, in inner     response = get_response(request)

venv\lib\site-packages\django\utils\deprecation.py", line 136, in __call__     response = self.process_response(request, response)

venv\lib\site-packages\django\middleware\clickjacking.py", line 27, in process_response

if response.get("X-Frame-Options") is not None: AttributeError: 'Response' object has no attribute 'get'

原因:

视图函数 def func(request): 应该返回的是一个Django HttpResponse对象。但你直接把一个requests库的 Response 对象(requests请求获得response)直接return 给前端浏览器了。requests库的 Response 对象与Django的 HttpResponse 对象不同,它没有 get 方法来访问 HTTP 头信息

要解决这个问题,你可以将 requests 的响应内容转换为Django的 HttpResponse对象。

import requests
from django.http import JsonResponse

def your_view(request):
    # 通过 requests 发送请求
    response = requests.get('https://example.com/')
    
    # 检查请求是否成功
    if response.status_code == 200:
        # 返回 JsonResponse 对象
        return JsonResponse(response.json())
    else:
        # 返回错误响应
        return JsonResponse({'error': 'Failed to fetch data'}, status=500)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值