Uso de objetos de solicitud y respuesta de Django

Uso de objetos de solicitud y respuesta de Django
El ciclo de solicitud-respuesta se utiliza para transferir los datos entre el cliente y el servidor en todos los tipos de API web. La arquitectura del cliente-servidor se utiliza en el marco Django para implementar la aplicación web. La solicitud y la respuesta son los dos componentes principales de la aplicación cliente-servidor. Un Httprequest El objeto se crea en la aplicación Django cuando un cliente solicita cualquier recurso. Se utiliza una función de vista particular para manejar la solicitud y enviar la respuesta utilizando el Httpresponse objeto. Los usos de diferentes atributos y métodos de Httprequest y Httpresponse Las clases del marco Django se explicarán en este tutorial.

Clase django httprequest:

Httprequest La clase se usa para manejar la solicitud del cliente que se define en el django.http módulo. Los atributos de esta clase se mencionan a continuación.

Atributos httprequest:

Nombre del Atributo Objetivo
Httprequest.camino La ruta completa de la página solicitada es devuelta por este atributo. El esquema o dominio no está incluido en el valor devuelto.
Httprequest.ruta_info La parte de información de ruta de esta ruta se muestra con este atributo.
Httprequest.método El método HTTP utilizado para la solicitud se muestra con este atributo.
Httprequest.esquema El esquema de la solicitud (http o https) está representado por este atributo.
Httprequest.cuerpo El cuerpo de solicitud HTTP sin procesar se devuelve como una cadena de byte por este atributo.
Httprequest.CONSEGUIR Todos los parámetros HTTP GET son devueltos por este atributo como objeto de diccionario.
Httprequest.CORREO Todos los parámetros de publicación HTTP son devueltos por este atributo como objeto de diccionario.
Httprequest.GALLETAS Todas las cookies disponibles son devueltas por este atributo.
Httprequest.Archivos Todos los archivos cargados están contenidos por este atributo.
Httprequest.META Todos los encabezados HTTP disponibles se muestran con este atributo.
Httprequest.tipo de contenido Este atributo muestra el tipo mime de la solicitud que se analiza desde el encabezado content_type se muestra en este atributo.
Httprequest.content_params Este atributo devuelve un objeto de diccionario que se incluye en el encabezado content_type.
Httprequest.codificación La codificación actual utilizada para decodificar los datos del formulario enviados se muestra con este atributo.

Métodos httprequest:

Método Objetivo
Httprequest.get_host () Se usa para devolver el nombre de host real de la solicitud.
Httprequest.get_full_path () Se usa para devolver la ruta y la cadena de consulta si está disponible.
Httprequest.get_port () Se utiliza para devolver el número de puerto de la solicitud.
Httprequest.is_secure () Si la solicitud se realiza utilizando HTTPS, entonces devuelve como verdadero de otra manera falsa.
Httprequest.is_ajax () Si la solicitud se realiza usando xmlhttprequest, entonces devuelve como verdadero de otra manera falsa.
Httprequest.build_absolute_uri (ubicación) Se usa para devolver la ubicación absoluta de URI.
Httprequest.get_signed_cookie (Key, default = Rais_error, sal = ", max_age = ninguno) Se usa para devolver el valor de la cookie para una cookie firmada o eleva un django.centro.firma.Excepción de Badsignature para la firma inválida.

Django httpresponse:

Httpresponse La clase se usa para manejar la respuesta del cliente que se define en el django.http módulo. Los atributos de esta clase se mencionan a continuación.

Atributos httpresponse:

Nombre del Atributo Objetivo
Httpresponse.código de estado Este atributo devuelve el código de estado HTTP de la respuesta
Httpresponse.charlatán El conjunto de char que se usa para codificar la respuesta se define con este atributo.
Httpresponse.transmisión El valor predeterminado de este atributo es falso.
Httpresponse.contenido El contenido está representado en la cadena de byte por este atributo.
Httpresponse.razon_phrase La frase de la razón http de la respuesta se define con este atributo.
Httpresponse.cerrado Cuando se cierra la respuesta, este atributo devolverá verdadero.

Métodos httpresponse:

Método Descripción
Httpresponse.__en eso__(content = ”, content_type = none, status = 200, razon = none, charset = none) Este método inicia un objeto httpResponse con el contenido de la página y el tipo de contenido dados.
Httpresponse.__obtiene el objeto__(encabezamiento) El valor del nombre del encabezado en particular se devuelve por este método.
Httpresponse.__setItem__(encabezado, valor) El valor particular se establece en el nombre del encabezado particular por este método.
Httpresponse.__delitem__(encabezamiento) El nombre del encabezado en particular se elimina por este método.
Httpresponse.establecer predeterminado(encabezado, valor) El valor de encabezado predeterminado se establece mediante este método.
Httpresponse.HAS_HEADER(encabezamiento) La existencia del nombre del encabezado en particular se verifica por este método.
Httpresponse.escribir(contenido) El objeto de respuesta similar al archivo se crea con este método.
Httpresponse.GetValue () El valor de httpresponse.El contenido se recupera por este método.
Httpresponse.legible() El objeto similar a la corriente de la clase httpResponse se crea con este método.
Httpresponse.Buscable () Este método se utiliza para hacer que el objeto de respuesta sea buscar.
Httpresponse.decir() Este método se utiliza para crear una instancia httpResponse como un objeto tipo archivo.
Httpresponse.enjuagar() Este método se utiliza para descargar el objeto de respuesta.

Prerrequisitos:

Antes de practicar el script de este tutorial, debe completar las siguientes tareas:

A. Instale la versión 3+ de Django en Ubuntu 20+ (preferiblemente)
B. Crear un proyecto Django
C. Ejecute el servidor Django para verificar que el servidor funcione correctamente o no.

Configurar una aplicación Django:

A. Ejecute el siguiente comando para crear una aplicación Django con nombre reqresapp.

$ python3 gestionar.py startapp reqresapp

B. Ejecute el siguiente comando para crear un usuario para acceder a la base de datos Django. Si ha hecho el usuario antes, no necesita ejecutar el comando.

$ python3 gestionar.py createuperuser

C. Agregue el nombre de la aplicación en el Instalado_app parte de ajustes.pagY archivo.

Instalado_apps = [

'reqresapp'
]

Modificar los archivos necesarios:

Modificar las vistas.archivo py con el siguiente script. El índice() La función del script leerá la ruta de solicitud, el método y el agente de usuario utilizando tres Httprequest atributos. A continuación, estos valores se enviarán al navegador usando Httpresponse () método.

puntos de vista.py

# Importar httresponse
de Django.http import httpresponse
# Definir la función para manejar la solicitud y la respuesta
Índice de def (solicitud):
ruta = solicitud.camino
método = solicitud.método
userAgent = solicitud.Meta ['http_user_agent']
# La solicitud se maneja utilizando el objeto httpResponse
devolver httpresponse ("

Prueba del ciclo de respuesta de solicitud de django


"
"

Ruta de solicitud: " + ruta +
"

Método de solicitud: " + Método +
"

Agente de usuario: " + UserAgent +"

")

Modificar las URL.archivo py con el siguiente script para definir la ruta para llamar al índice() función del puntos de vista.py archivo.

URLS.py

# Ruta de importación
de Django.ruta de importación de URLS
# Vista de importación
de reqresapp.Vistas Índice de importación
# Defina el camino
urlpatterns = [
ruta (", índice),
]

Ejecute el siguiente comando para iniciar el servidor Django.

$ python3 gestionar.py runserver

Ejecute la siguiente URL desde el navegador para verificar la salida de la aplicación.

http: // localhost: 8000

La siguiente salida muestra los valores de tres atributos httprequest enviados por httpresponse.

Conclusión:

Cómo se pueden usar los diferentes atributos y métodos de httprequest y httpresponse en la aplicación Django en este tutorial. Los usuarios de Django podrán usar los objetos de solicitud y respuesta de Django después de leer este tutorial.