Django

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 todo tipo de API web. La arquitectura cliente-servidor se utiliza en el marco de 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 usa una función de vista particular para manejar la solicitud y enviar la respuesta usando el HttpResponse objeto. Los usos de diferentes atributos y métodos de HttpRequest y HttpResponse Las clases del framework 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 de HttpRequest:

Nombre del Atributo Propósito
HttpRequest.camino Este atributo devuelve la ruta completa de la página solicitada. El esquema o dominio no está incluido en el valor devuelto.
HttpRequest.path_info La parte de información de ruta de esta ruta se muestra mediante este atributo.
HttpRequest.método Este atributo muestra el método HTTP utilizado para la solicitud.
HttpRequest.esquema El esquema de la solicitud (HTTP o HTTPs) está representado por este atributo.
HttpRequest.cuerpo Este atributo devuelve el cuerpo de la solicitud HTTP sin procesar como una cadena de bytes.
HttpRequest.OBTENER Todos los parámetros HTTP GET son devueltos por este atributo como un objeto de diccionario.
HttpRequest.CORREO Todos los parámetros HTTP POST son devueltos por este atributo como un objeto de diccionario.
HttpRequest.GALLETAS Todas las cookies disponibles son devueltas por este atributo.
HttpRequest.ARCHIVOS Todos los archivos cargados están incluidos en 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.
HttpRequest.content_params Este atributo devuelve un objeto de diccionario que se incluye en el encabezado CONTENT_TYPE.
HttpRequest.codificacion Este atributo muestra la codificación actual utilizada para decodificar los datos del formulario enviado.

Métodos HttpRequest:

Método Propósito
HttpRequest.get_host () Se utiliza para devolver el nombre de host real de la solicitud.
HttpRequest.get_full_path () Se utiliza 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.es_seguro () Si la solicitud se realiza mediante HTTPS, se devuelve como Verdadero; de lo contrario, es Falso.
HttpRequest.is_ajax () Si la solicitud se realiza mediante XMLHttpRequest, devuelve True en caso contrario False.
HttpRequest.build_absolute_uri (localización) Se utiliza para devolver la ubicación URI absoluta.
HttpRequest.get_signed_cookie (clave, predeterminado = RAISE_ERROR, salt = ”, max_age = Ninguno) Se usa para devolver el valor de la cookie para una cookie firmada o genera un django.centro.firma.Excepción BadSignature para la firma no vá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 de HttpResponse:

Nombre del Atributo Propósito
HttpResponse.código de estado Este atributo devuelve el código de estado HTTP de la respuesta
HttpResponse.juego de caracteres El conjunto de caracteres que se utiliza para codificar la respuesta está definido por este atributo.
HttpResponse.transmisión El valor predeterminado de este atributo es falso.
HttpResponse.contenido El contenido está representado en una cadena de bytes por este atributo.
HttpResponse.razon_frase La frase de motivo HTTP de la respuesta está definida por este atributo.
HttpResponse.cerrado Cuando se cierra la respuesta, este atributo devolverá True.

Métodos HttpResponse:

Método Descripción
HttpResponse.__en eso__(contenido = ”, tipo_contenido = Ninguno, estado = 200, motivo = Ninguno, juego de caracteres = Ninguno) Este método inicia un objeto HttpResponse con el contenido de página y el tipo de contenido dados.
HttpResponse.__obtiene el objeto__(encabezamiento) Este método devuelve el valor del nombre del encabezado particular.
HttpResponse.__setitem__(encabezado, valor) El valor particular se establece en el nombre del encabezado particular mediante este método.
HttpResponse.__delitem__(encabezamiento) Este método elimina el nombre del encabezado particular.
HttpResponse.establecer predeterminado(encabezado, valor) El valor de encabezado predeterminado se establece mediante este método.
HttpResponse.has_header(encabezamiento) La existencia del nombre de encabezado particular se verifica mediante este método.
HttpResponse.escribir(contenido) El objeto de respuesta similar a un archivo se crea mediante este método.
HttpResponse.getvalue () El valor de HttpResponse.el contenido se recupera mediante este método.
HttpResponse.legible() El objeto similar a una secuencia de la clase HttpResponse es creado por este método.
HttpResponse.buscable () Este método se utiliza para hacer que el objeto de respuesta se pueda buscar.
HttpResponse.contar() Este método se utiliza para crear una instancia de HttpResponse como un objeto similar a un archivo.
HttpResponse.enjuagar() Este método se utiliza para vaciar el objeto de respuesta.

Requisitos previos:

Antes de practicar el guión de este tutorial, debe completar las siguientes tareas:

A. Instale Django versión 3+ en Ubuntu 20+ (preferiblemente)
B. Crea un proyecto de Django
C. Ejecute el servidor Django para comprobar si el servidor funciona correctamente o no.

Configura una aplicación Django:

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

$ python3 administrar.py startapp reqresapp

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

$ python3 administrar.py crea superusuario

C. Agregue el nombre de la aplicación en el INSTALLED_APP parte de ajustes.pagy archivo.

INSTALLED_APPS = [
..
'reqresapp'
]

Modifique los archivos necesarios:

Modificar las vistas.py archivo con el siguiente script. La í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 utilizando HttpResponse () método.

puntos de vista.py

# Importar HttResponse
de django.http import HttpResponse
# Definir función para manejar solicitud y respuesta
def index (solicitud):
ruta = solicitud.camino
método = solicitud.método
userAgent = solicitud.META ['HTTP_USER_AGENT']
# la solicitud se maneja usando el objeto HttpResponse
return HttpResponse ("

Prueba del ciclo de respuesta a solicitudes de Django


"
"

Ruta de solicitud: "+ ruta +
"

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

Agente de usuario: "+ userAgent +"

")

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

urls.py

# Ruta de importación
de django.ruta de importación de URL
# Vista de importación
de reqresapp.índice de importación de vistas
# Definir ruta
urlpatterns = [
ruta (", índice),
]

Ejecute el siguiente comando para iniciar el servidor Django.

$ python3 administrar.py runserver

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

http: // localhost: 8000

La siguiente salida muestra los valores de tres atributos HttpRequest enviados por HttpResponse.

Conclusión:

En este tutorial se muestra cómo se pueden usar los diferentes atributos y métodos de HttpRequest y HttpResponse en la aplicación Django. Los usuarios de Django podrán usar los objetos de solicitud y respuesta de Django después de leer este tutorial.

Vulkan para usuarios de Linux
Con cada nueva generación de tarjetas gráficas, vemos que los desarrolladores de juegos superan los límites de la fidelidad gráfica y se acercan un pa...
OpenTTD frente a Simutrans
Crear su propia simulación de transporte puede ser divertido, relajante y extremadamente atractivo. Es por eso que debes asegurarte de probar tantos j...
Tutorial de OpenTTD
OpenTTD es uno de los juegos de simulación empresarial más populares que existen. En este juego, necesitas crear un maravilloso negocio de transporte....