HTTPResponse.__init__() получил неожиданный аргумент ключевого слова 'content_type'
Ошибка -
TypeError at /api/
HTTPResponse.init() получил неожиданный аргумент ключевого слова 'content_type'
Метод запроса: GET
URL запроса: http://127.0.0.1:8000/api/
Версия Django: 4.0.5
Тип исключения: TypeError
Значение исключения:
HTTPResponse.init() получил неожиданный аргумент ключевого слова 'content_type'
Расположение исключения: D:\Python_Tutorials\DJango\PracticeDjango\Rest_Practice\withoutrest\testapp\views.py, line 17, in emp_data_json_view
Python Executable: C:\Users\HP\AppData\Local\Programs\Python\Python310\python.exe
Версия Python: 3.10.5
Python Path:
['D:\Python_Tutorials\DJango\PracticeDjango\Rest_Practice\withoutrest',
'C:\Users\HP\AppData\Local\Programs\Python\Python310\python310.zip',
'C:\Users\HP\AppData\Local\Programs\Python\Python310\DLLs',
'C:\Users\HP\AppData\Local\Programs\Python\Python310\lib',
'C:\Users\HP\AppData\Local\Programs\Python\Python310',
'C:\Users\HP\AppData\Local\Programs\Python\Python310\lib\site-packages',
'C:\Users\HP\AppData\Local\Programs\Python\Python310\lib\site-packages\win32',
'C:\Users\HP\AppData\Local\Programs\Python\Python310\lib\site-packages\win32\lib',
'C:\Users\HP\AppData\Local\Programs\Python\Python310\lib\site-packages\Pythonwin'].
Время сервера: Sat, 20 Aug 2022 17:29:03 +0000
from http.client import HTTPResponse
from django.shortcuts import render
import json
# Create your views here.
def emp_data_json_view(request):
emp_data = {'eno': 100,
'ename':'sunny',
'esal' : 1000,
'address' : 'Pune'
}
# dumps() -> coonvert python dict to json
# loads() -> convert json to python dict
#converting pytohn dictionary to json data
json_data = json.dumps(emp_data)
# if we did not mention content type - it will be consider as HTTP response only
return HTTPResponse(json_data, content_type = 'application/json')
Я внес изменения в код и использовал JsonResponse напрямую, а не HTTPRespons. И это сработало для меня.
from django.http import JsonResponse
def emp_data_json_view(request):
emp_data = {'eno': 100,
'ename':'sunny',
'esal' : 1000,
'address' : 'Pune'
}
return JsonResponse(emp_data)
Неправильный импорт вызвал у меня эту ошибку -
Replacing this - from http.client import HTTPResponse
to this - from django.http import HttpResponse
#from http.client import HTTPResponse
from django.http import HttpResponse
from django.shortcuts import render
import json
# Create your views here.
def emp_data_json_view(request):
emp_data = {'eno': 100,
'ename':'sunny',
'esal' : 1000,
'address' : 'Pune'
}
# dumps() -> coonvert python dict to json
# loads() -> convert json to python dict
#converting pytohn dictionary to json data
json_data = json.dumps(emp_data)
# if we did not mention content type - it will be consider as HTTP response only
return HttpResponse(json_data, content_type = 'application/json')