Django中HTTPResponse初始化遇content_type参数异常如何解决?
解决Django视图返回HTTPResponse时的TypeError问题
问题原因
你错误导入了Python标准库的http.client.HTTPResponse类,这个类用于HTTP客户端解析响应,不支持content_type关键字参数。而Django视图需要返回框架自带的HttpResponse类,两者用途完全不同,混用导致参数错误。
解决方案
- 替换导入语句,使用Django自带的响应类:
# 替换之前的导入 from django.http import HttpResponse
- 在视图函数中正常返回,保留
content_type参数:
import json from django.http import HttpResponse def emp_data_json_view(request): # 示例数据,根据实际业务逻辑替换 emp_data = {"id": 1, "name": "Alice", "department": "Engineering"} json_str = json.dumps(emp_data) return HttpResponse(json_str, content_type="application/json")
补充说明
Django的HttpResponse类专门为Web视图场景设计,支持设置响应头、内容编码等常用参数,是视图返回响应的标准方式。标准库的http.client.HTTPResponse仅用于客户端请求后处理服务器返回的响应,不要在Django视图中混用。
内容的提问来源于stack exchange,提问作者Pratik Patil
相关产品推荐
相关产品推荐

