Django

Uso de objetos de solicitação e resposta do Django

Uso de objetos de solicitação e resposta do Django
O ciclo de solicitação-resposta é usado para transferir os dados entre o cliente e o servidor em todos os tipos de APIs da web. A arquitetura cliente-servidor é usada na estrutura Django para implementar o aplicativo da web. A solicitação e a resposta são os dois componentes principais do aplicativo cliente-servidor. A HttpRequest objeto é criado no aplicativo Django quando um cliente solicita qualquer recurso. Uma função de visualização específica é usada para lidar com a solicitação e enviar a resposta usando o HttpResponse objeto. O uso de diferentes atributos e métodos de HttpRequest e HttpResponse classes do framework Django serão explicadas neste tutorial.

Classe Django HttpRequest:

HttpRequest classe é usada para lidar com o pedido do cliente que é definido no Django.http módulo. Os atributos desta classe são mencionados abaixo.

Atributos HttpRequest:

Nome do Atributo Objetivo
HttpRequest.caminho O caminho completo da página solicitada é retornado por este atributo. O esquema ou domínio não está incluído no valor retornado.
HttpRequest.path_info A parte da informação do caminho deste caminho é mostrada por este atributo.
HttpRequest.método O método HTTP usado para a solicitação é mostrado por este atributo.
HttpRequest.esquema O esquema da solicitação (HTTP ou HTTPs) é representado por este atributo.
HttpRequest.corpo O corpo bruto da solicitação HTTP é retornado como uma string de bytes por este atributo.
HttpRequest.OBTER Todos os parâmetros HTTP GET são retornados por este atributo como um objeto de dicionário.
HttpRequest.PUBLICAR Todos os parâmetros HTTP POST são retornados por este atributo como um objeto de dicionário.
HttpRequest.BISCOITOS Todos os cookies disponíveis são retornados por este atributo.
HttpRequest.ARQUIVOS Todos os arquivos carregados estão contidos neste atributo.
HttpRequest.META Todos os cabeçalhos HTTP disponíveis são mostrados por este atributo.
HttpRequest.tipo de conteúdo O tipo MIME da solicitação que é analisado a partir do cabeçalho CONTENT_TYPE é mostrado por este atributo.
HttpRequest.content_params Um objeto de dicionário incluído no cabeçalho CONTENT_TYPE é retornado por este atributo.
HttpRequest.codificação A codificação atual usada para decodificar os dados do formulário enviado é mostrada por este atributo.

Métodos HttpRequest:

Método Objetivo
HttpRequest.get_host () É usado para retornar o nome do host real da solicitação.
HttpRequest.get_full_path () É usado para retornar o caminho e a string de consulta, se disponível.
HttpRequest.get_port () É usado para retornar o número da porta da solicitação.
HttpRequest.is_secure () Se a solicitação for feita usando HTTPS, ele retorna como True, caso contrário, ele retorna como False.
HttpRequest.is_ajax () Se a solicitação for feita usando XMLHttpRequest, ele retornará como True, caso contrário, será False.
HttpRequest.build_absolute_uri (localização) É usado para retornar a localização absoluta do URI.
HttpRequest.get_signed_cookie (chave, padrão = RAISE_ERROR, salt = ”, max_age = Nenhum) É usado para retornar o valor do cookie para um cookie assinado ou levanta um django.testemunho.assinando.Exceção BadSignature para a assinatura inválida.

Django HttpResponse:

HttpResponse classe é usada para lidar com a resposta do cliente que é definida no Django.http módulo. Os atributos desta classe são mencionados abaixo.

Atributos HttpResponse:

Nome do Atributo Objetivo
HttpResponse.status_code O código de status HTTP da resposta é retornado por este atributo
HttpResponse.charset O conjunto de caracteres usado para codificar a resposta é definido por este atributo.
HttpResponse.transmissão O valor padrão deste atributo é False.
HttpResponse.contente O conteúdo é representado em string de bytes por este atributo.
HttpResponse.reason_phrase A frase de razão HTTP da resposta é definida por este atributo.
HttpResponse.fechado Quando a resposta for fechada, este atributo retornará True.

Métodos HttpResponse:

Método Descrição
HttpResponse.__iniciar__(content = ”, content_type = None, status = 200, reason = None, charset = None) Um objeto HttpResponse com o conteúdo da página e o tipo de conteúdo fornecidos são iniciados por este método.
HttpResponse.__getitem__(cabeçalho) O valor do nome do cabeçalho específico é retornado por este método.
HttpResponse.__setitem__(cabeçalho, valor) O valor específico é definido para o nome do cabeçalho específico por este método.
HttpResponse.__delitem__(cabeçalho) O nome do cabeçalho específico é excluído por este método.
HttpResponse.conjunto padrão(cabeçalho, valor) O valor padrão do cabeçalho é definido por este método.
HttpResponse.has_header(cabeçalho) A existência de um nome de cabeçalho específico é verificada por este método.
HttpResponse.Escreva(contente) O objeto de resposta semelhante a um arquivo é criado por este método.
HttpResponse.Obter valor() O valor de HttpResponse.o conteúdo é recuperado por este método.
HttpResponse.legível() O objeto semelhante a fluxo da classe HttpResponse é criado por este método.
HttpResponse.procurável () Este método é usado para tornar o objeto de resposta capaz de ser pesquisado.
HttpResponse.contar() Este método é usado para criar uma instância HttpResponse como um objeto semelhante a um arquivo.
HttpResponse.rubor() Este método é usado para liberar o objeto de resposta.

Pré-requisitos:

Antes de praticar o script deste tutorial, você deve concluir as seguintes tarefas:

UMA. Instale o Django versão 3+ no Ubuntu 20+ (de preferência)
B. Crie um projeto Django
C. Execute o servidor Django para verificar se o servidor está funcionando corretamente ou não.

Configure um aplicativo Django:

UMA. Execute o seguinte comando para criar um aplicativo Django chamado reqresapp.

$ python3 manage.py startapp reqresapp

B. Execute o seguinte comando para criar um usuário para acessar o banco de dados Django. Se você já fez o usuário antes disso, não precisa executar o comando.

$ python3 manage.py cria superusuário

C. Adicione o nome do aplicativo no INSTALLED_APP parte de definições.parquivo y.

INSTALLED_APPS = [

'reqresapp'
]

Modifique os arquivos necessários:

Modifique as visualizações.arquivo py com o seguinte script. O índice() função do script lerá o caminho da solicitação, método e agente do usuário usando três HttpRequest atributos. Em seguida, esses valores serão enviados ao navegador usando HttpResponse () método.

Visualizações.py

# Import HttResponse
de django.http import HttpResponse
# Definir função para lidar com solicitação e resposta
índice def (pedido):
caminho = pedido.caminho
método = pedido.método
userAgent = pedido.META ['HTTP_USER_AGENT']
# solicitação é tratada usando o objeto HttpResponse
return HttpResponse ("

Teste do ciclo de resposta de solicitação do Django


"
"

Solicitar caminho: "+ caminho +
"

Método de solicitação: "+ método +
"

Agente do usuário: "+ userAgent +"

")

Modifique os urls.arquivo py com o seguinte script para definir o caminho para chamar o índice() função do Visualizações.py Arquivo.

urls.py

# Caminho de importação
de django.caminho de importação de urls
# Vista de importação
de reqresapp.índice de importação de visualizações
# Definir caminho
urlpatterns = [
caminho (", índice),
]

Execute o seguinte comando para iniciar o servidor Django.

$ python3 manage.py runserver

Execute o seguinte URL no navegador para verificar a saída do aplicativo.

http: // localhost: 8000

A saída a seguir mostra os valores de três atributos HttpRequest enviados por HttpResponse.

Conclusão:

Como os diferentes atributos e métodos de HttpRequest e HttpResponse podem ser usados ​​no aplicativo Django são mostrados neste tutorial. Os usuários do Django serão capazes de usar os objetos de solicitação e resposta do Django após ler este tutorial.

Como alterar os botões esquerdo e direito do mouse no PC com Windows 10
É normal que todos os dispositivos de mouse de computador sejam ergonomicamente projetados para usuários destros. Mas existem dispositivos de mouse di...
Emular cliques do mouse passando o mouse usando o mouse sem cliques no Windows 10
Usar um mouse ou teclado na postura errada de uso excessivo pode resultar em muitos problemas de saúde, incluindo tensão, síndrome do túnel do carpo e...
Adicione gestos do mouse ao Windows 10 usando essas ferramentas gratuitas
Nos últimos anos, os computadores e sistemas operacionais evoluíram muito. Houve um tempo em que os usuários tinham que usar comandos para navegar pel...