Объект 'str' не имеет атрибута 'makefile'

Отслеживание (последний последний вызов): File "C:\Users\Rochak.virtualenvs\GFG\GFG\lib\site-packages\django\core\handlers\exception.py", line 47, in inner response = get_response(request) File "C:\Users\Rochak.virtualenvs\GFG\GFG\lib\site-packages\django\core\handlers\base. py", строка 181, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "C:\Users\Rochak.virtualenvs\GFG\GFG\GFG\Scripts\authentication\views. py", строка 7, в home return HTTPResponse("Привет Рочак!") Файл "C:\Program Files\Python310\lib\http\client.py", строка 256, в init self.fp = sock.makefile("rb")

.

Тип исключения: AttributeError at /authentication/hello/ Exception Value: 'str' object has no attribute 'makefile'

>

Вы возвращаете http.client.HTTPResponse.

Вам нужно вернуть django.http.HttpResponse.

Исправьте свой импорт.

   #Remove http.client.HTTPResponse from import and follow:
   from django.shortcuts import render
   from django.http import HttpResponse

   # Create your views here.
   def home(request):
        return HttpResponse("Hello bro")

это связано с заглавной буквой "TTP" в обратном ответе - HTTPResponse, но правильной является маленькая буква ttp, как это:HttpResponse

Здесь небольшая ошибка. Измените строку:

return HTTPResponse("Hello Rochak!")

с

return HttpResponse("Hello Rochak!")

И включите эту строку в верхнюю часть также:

from django.shortcuts import HttpResponse

Примечание: обратите внимание, что HTTPResponse будет HttpResponse

Импортируйте класс HttpResponse из модуля django.http.response

from django.http.response import HttpResponse
    
def index(request):
    return HttpResponse("Rendering string content")

Примечание: В некоторых редакторах, когда вы добавляете HttpResponse без импорта из Django, он автоматически импортирует модуль с аналогичным названием из http.client (from http.client import HTTPResponse)

шаг: перейдите в views.py измените строку с добавлением этой строки

измените строку: from http.client import HTTPResponse
добавить эту строку: from django.shortcuts import HttpResponse

Вернуться на верх