开发环境: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