开发环境:Django+Python3.10
执行的操作,视图函数内返回数据出现异常,return data,错误:
AttributeError: 'dict' object has no attribute 'status_code'
解决方式:
分析:
Django 中间件 process_response 方法期望从视图接收一个响应对象,该对象必须有一个 status_code 属性。如果视图直接返回了一个字典,当 Django 的中间件尝试处理这个响应时,就会因为找不到 status_code 属性而抛出 AttributeError。
确保视图返回一个正确的响应对象。如果想返回 JSON 数据,可以使用 JsonResponse 对象。JsonResponse 是 HttpResponse 的一个子类,用于返回 JSON 响应。
更为示例为:返回的Json格式数据
from django.http import JsonResponse
def my_view(request):
data = {'key': 'value'} # 字典数据
return JsonResponse(data)
返回h
在Django+Python3.10环境下,视图函数返回字典引发AttributeError,因为中间件期望响应对象具有'status_code'属性。解决方法是确保视图返回响应对象,如使用HttpResponse或JsonResponse。示例包括返回JSON和HTML数据的方式,以及使用Python装饰器处理JSON响应。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



