Django HttpResponse
HttpResponse в Django является классом, который представляет HTTP-ответ, который будет отправлен клиенту. Ответ может содержать HTML-код, JSON или любой другой тип контента.
Примеры кода с использованием HttpResponse:
1. Возвращение простого HTML-кода в ответе на запрос:
python
from django.http import HttpResponse
def my_view(request):
html = "Hello, World!"
return HttpResponse(html)
2. Возврат ответа с JSON-данными:
python
from django.http import HttpResponse
import json
def my_view(request):
data = {'name': 'John', 'age': 25}
json_data = json.dumps(data)
return HttpResponse(json_data, content_type='application/json')
3. Установка статуса ответа и заголовков:
python
from django.http import HttpResponse
def my_view(request):
response = HttpResponse()
response.status_code = 200
response['Cache-Control'] = 'no-cache'
response['X-My-Header'] = 'Custom Value'
return response
4. Отправка файлов клиенту:
python
from django.http import HttpResponse
from django.core.files import File
def my_view(request):
file = open('path/to/file.txt', 'rb')
response = HttpResponse(File(file))
response['Content-Disposition'] = 'attachment; filename="file.txt"'
return response
HttpResponse также предоставляет методы, которые облегчают работу с ответом, такие как set_cookie(), delete_cookie() и redirect(). С использованием HttpResponse вы получаете полный контроль над отправляемыми данными и заголовками, что позволяет гибко настраивать ответы на запросы.