РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
358 of 818 menu

Класс HttpResponse

Класс HttpResponse применяется для создания HTTP-ответов, которые возвращаются клиенту из представлений. Он принимает содержимое ответа, статус-код и заголовки. Класс автоматически формирует HTTP-ответ, который браузер может обработать. Содержимое может быть строкой, байтами или итератором.

Синтаксис

HttpResponse(content='', status=200, headers=None, content_type='text/html', charset=None)

Параметры конструктора:

  • content - содержимое ответа (строка или байты)
  • status - HTTP статус-код (по умолчанию 200)
  • headers - дополнительные заголовки (словарь)
  • content_type - MIME тип содержимого (по умолчанию 'text/html')
  • charset - кодировка содержимого

Пример

Давайте создадим простой HTTP-ответ с текстовым содержимым:

from django.http import HttpResponse def hello_view(request): res = HttpResponse("Hello, World!") return res

Результат выполнения кода:

"HTTP/1.1 200 OK" "Content-Type: text/html; charset=utf-8" "Hello, World!"

Пример

Создадим ответ с пользовательским статусом и заголовками:

from django.http import HttpResponse def api_view(request): res = HttpResponse( '{"status": "success"}', status=201, headers={'X-Custom-Header': 'MyValue'}, content_type='application/json' ) return res

Результат выполнения кода:

"HTTP/1.1 201 Created" "Content-Type: application/json; charset=utf-8" "X-Custom-Header: MyValue" "{\"status\": \"success\"}"

Пример

Используем атрибут status_code для изменения статуса:

from django.http import HttpResponse from datetime import datetime def not_found_view(request): res = HttpResponse("Page not found") res.status_code = 404 return res

Результат выполнения кода:

"HTTP/1.1 404 Not Found" "Content-Type: text/html; charset=utf-8" "Page not found"

Пример

Отправим файл с использованием HttpResponse:

from django.http import HttpResponse def download_view(request): file_content = "This is a file content" res = HttpResponse(file_content, content_type='text/plain') res['Content-Disposition'] = 'attachment; filename="example.txt"' return res

Результат выполнения кода:

"HTTP/1.1 200 OK" "Content-Type: text/plain; charset=utf-8" "Content-Disposition: attachment; filename=\"example.txt\"" "This is a file content"

Смотрите также

  • класс JsonResponse,
    который возвращает JSON-ответы
  • класс FileResponse,
    который возвращает файлы в качестве ответа
  • класс HttpResponseRedirect,
    который выполняет перенаправление
  • класс HttpResponseNotFound,
    который возвращает ответ со статусом 404
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить