Джанго

Использование объектов запроса и ответа Django

Использование объектов запроса и ответа Django
Цикл запрос-ответ используется для передачи данных между клиентом и сервером во всех типах веб-API. Архитектура клиент-сервер используется в платформе Django для реализации веб-приложения. Запрос и ответ - это два основных компонента клиент-серверного приложения. An HttpRequest объект создается в приложении Django, когда клиент запрашивает любой ресурс. Конкретная функция просмотра используется для обработки запроса и отправки ответа с помощью HttpResponse объект. Использование различных атрибутов и методов HttpRequest а также HttpResponse классы фреймворка Django будут объяснены в этом руководстве.

Класс Django HttpRequest:

HttpRequest класс используется для обработки клиентского запроса, который определен в джанго.http модуль. Атрибуты этого класса упомянуты ниже.

Атрибуты HttpRequest:

имя атрибута Цель
HttpRequest.дорожка Этот атрибут возвращает полный путь к запрошенной странице. Схема или домен не включены в возвращаемое значение.
HttpRequest.path_info Часть информации о пути этого пути отображается этим атрибутом.
HttpRequest.метод Этот атрибут показывает метод HTTP, используемый для запроса.
HttpRequest.схема Схема запроса (HTTP или HTTP) представлена ​​этим атрибутом.
HttpRequest.тело Необработанное тело HTTP-запроса возвращается этим атрибутом в виде байтовой строки.
HttpRequest.ПОЛУЧАТЬ Все параметры HTTP GET возвращаются этим атрибутом как объект словаря.
HttpRequest.ПОЧТА Все параметры HTTP POST возвращаются этим атрибутом как объект словаря.
HttpRequest.ПЕЧЕНЬЕ Все доступные файлы cookie возвращаются этим атрибутом.
HttpRequest.ФАЙЛЫ Все загруженные файлы содержатся в этом атрибуте.
HttpRequest.МЕТА Все доступные заголовки HTTP показаны этим атрибутом.
HttpRequest.Тип содержимого Этот атрибут показывает MIME-тип запроса, который анализируется из заголовка CONTENT_TYPE.
HttpRequest.content_params Этот атрибут возвращает объект словаря, который включен в заголовок CONTENT_TYPE.
HttpRequest.кодирование Используемая текущая кодировка для декодирования представленных данных формы отображается этим атрибутом.

Методы HttpRequest:

Метод Цель
HttpRequest.get_host () Он используется для возврата фактического имени хоста запроса.
HttpRequest.get_full_path () Он используется для возврата пути и строки запроса, если таковая имеется.
HttpRequest.get_port () Используется для возврата номера порта запроса.
HttpRequest.is_secure () Если запрос сделан с использованием HTTPS, он возвращается как True, в противном случае - False.
HttpRequest.is_ajax () Если запрос сделан с использованием XMLHttpRequest, он возвращается как True, иначе False.
HttpRequest.build_absolute_uri (место расположения) Он используется для возврата абсолютного местоположения URI.
HttpRequest.get_signed_cookie (ключ, по умолчанию = RAISE_ERROR, salt = ”, max_age = None) Он используется для возврата значения cookie для подписанного cookie или вызывает django.основной.подписание.Исключение BadSignature для недействительной подписи.

Django HttpResponse:

HttpResponse класс используется для обработки ответа клиента, который определен в джанго.http модуль. Атрибуты этого класса упомянуты ниже.

Атрибуты HttpResponse:

имя атрибута Цель
HttpResponse.status_code Код состояния HTTP ответа возвращается этим атрибутом
HttpResponse.кодировка Набор символов, который используется для кодирования ответа, определяется этим атрибутом.
HttpResponse.потоковая передача Значение этого атрибута по умолчанию - False.
HttpResponse.содержание Содержимое представлено в байтовой строке этим атрибутом.
HttpResponse.причина_фраза Фраза причины ответа HTTP определяется этим атрибутом.
HttpResponse.закрыто Когда ответ закрыт, этот атрибут вернет True.

Методы HttpResponse:

Метод Описание
HttpResponse.__в этом__(content = ”, content_type = None, status = 200, cause = None, charset = None) Этот метод инициирует объект HttpResponse с заданным содержимым страницы и типом содержимого.
HttpResponse.__getitem__(заголовок) Этот метод возвращает значение конкретного имени заголовка.
HttpResponse.__setitem__(заголовок, значение) Конкретное значение устанавливается для конкретного имени заголовка этим методом.
HttpResponse.__delitem__(заголовок) С помощью этого метода удаляется конкретное имя заголовка.
HttpResponse.установить по умолчанию(заголовок, значение) Этим методом устанавливается значение заголовка по умолчанию.
HttpResponse.has_header(заголовок) Этим методом проверяется наличие конкретного имени заголовка.
HttpResponse.написать(содержание) Файловый объект ответа создается этим методом.
HttpResponse.getvalue () Значение HttpResponse.контент извлекается этим методом.
HttpResponse.удобочитаемый() Этот метод создает потокоподобный объект класса HttpResponse.
HttpResponse.seekable () Этот метод используется для обеспечения возможности поиска объекта ответа.
HttpResponse.рассказать() Этот метод используется для создания экземпляра HttpResponse как файлового объекта.
HttpResponse.румянец() Этот метод используется для очистки объекта ответа.

Предпосылки:

Перед тем, как практиковать сценарий этого руководства, вы должны выполнить следующие задачи:

А. Установите Django версии 3+ на Ubuntu 20+ (желательно)
B. Создайте проект Django
C. Запустите сервер Django, чтобы проверить, работает ли сервер правильно или нет.

Настройте приложение Django:

А. Выполните следующую команду, чтобы создать приложение Django с именем reqresapp.

$ python3 manage.py startapp reqresapp

B. Выполните следующую команду, чтобы создать пользователя для доступа к базе данных Django. Если вы сделали пользователя раньше, вам не нужно запускать команду.

$ python3 manage.py создает суперпользователя

C. Добавьте название приложения в INSTALLED_APP часть настройки.пy файл.

INSTALLED_APPS = [

'reqresapp'
]

Измените необходимые файлы:

Измените представления.py файл со следующим скриптом. В индекс() функция скрипта будет читать путь запроса, метод и пользовательский агент, используя три HttpRequest атрибуты. Затем эти значения будут отправлены в браузер с помощью HttpResponse () метод.

взгляды.ру

# Импортировать HttResponse
из джанго.http импорт HttpResponse
# Определить функцию для обработки запроса и ответа
def index (запрос):
путь = запрос.дорожка
метод = запрос.метод
userAgent = запрос.МЕТА ['HTTP_USER_AGENT']
# запрос обрабатывается с помощью объекта HttpResponse
return HttpResponse ("

Тестирование цикла ответа на запрос Django


"
"

Путь запроса: "+ путь +
"

Метод запроса: "+ метод +
"

Пользовательский агент: "+ userAgent +"

")

Измените URL-адреса.py-файл со следующим сценарием для определения пути для вызова индекс() функция взгляды.ру файл.

URL-адреса.ру

# Импортировать путь
из джанго.путь импорта URL
# Импортировать представление
из reqresapp.просмотр индекса импорта
# Определить путь
urlpatterns = [
путь (", индекс),
]

Выполните следующую команду, чтобы запустить сервер Django.

$ python3 manage.py runserver

Запустите следующий URL-адрес в браузере, чтобы проверить вывод приложения.

http: // локальный: 8000

В следующих выходных данных показаны значения трех атрибутов HttpRequest, отправленных HttpResponse.

Заключение:

В этом руководстве показано, как в приложении Django можно использовать различные атрибуты и методы HttpRequest и HttpResponse. Пользователи Django смогут использовать объекты запросов и ответов Django после прочтения этого руководства.

Порты коммерческих игровых движков с открытым исходным кодом
Бесплатные игры с открытым исходным кодом и кроссплатформенные версии игрового движка можно использовать для игры как в старые, так и в некоторые из с...
Лучшие игры с командной строкой для Linux
Командная строка - не только ваш главный союзник при использовании Linux - она ​​также может быть источником развлечений, потому что вы можете использ...
Лучшие приложения для сопоставления геймпадов для Linux
Если вам нравится играть в игры на Linux с помощью геймпада вместо стандартной системы ввода с клавиатуры и мыши, для вас есть несколько полезных прил...