Uso de objetos de solicitação e resposta django

Uso de objetos de solicitação e resposta 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 do Django para implementar o aplicativo da web. A solicitação e a resposta são os dois componentes principais do aplicativo cliente-servidor. Um Httprequest O 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 Httpro -resposta objeto. Os usos de diferentes atributos e métodos de Httprequest e Httpro -resposta As aulas da estrutura do Django serão explicadas neste tutorial.

Django HttPrequest Class:

Httprequest A classe é usada para lidar com a solicitação do cliente definida no Django.http módulo. Os atributos desta classe são mencionados abaixo.

Atributos httprequest:

Nome do Atributo Propósito
Httprequest.caminho O caminho completo da página solicitado é 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 de solicitação HTTP bruto é devolvido como uma string de byte por este atributo.
Httprequest.PEGAR Todos os parâmetros http get são devolvidos por este atributo como um objeto de dicionário.
Httprequest.PUBLICAR Todos os parâmetros post http são devolvidos por este atributo como um objeto de dicionário.
Httprequest.BISCOITOS Todos os cookies disponíveis são devolvidos por este atributo.
Httprequest.ARQUIVOS Todos os arquivos carregados estão contidos por este atributo.
Httprequest.Meta Todos os cabeçalhos HTTP disponíveis são mostrados por este atributo.
Httprequest.tipo de conteúdo O tipo MIM.
Httprequest.Content_params Um objeto de dicionário que está 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 é mostrado por este atributo.

Métodos HttPrequest:

Método Propósito
Httprequest.get_host () É usado para retornar o nome do host real do pedido.
Httprequest.get_full_path () É usado para retornar o caminho e a sequência de consultas, se disponível.
Httprequest.get_port () É usado para retornar o número da porta.
Httprequest.is_secure () Se a solicitação for feita usando HTTPS, ele retornará como verdadeiro, caso contrário, False.
Httprequest.is_ajax () Se a solicitação for feita usando xmlhttprequest, ele retornará como verdadeiro, caso contrário, false.
Httprequest.build_absolute_uri (localização) É usado para devolver o local absoluto do URI.
Httprequest.get_signed_cookie (chave, default = raise_error, sal = ”, max_age = nenhum) É usado para devolver o valor do cookie para um biscoito assinado ou levanta um django.essencial.assinatura.Exceção de assinatura de Bads.

Django httproponse:

Httpro -resposta A 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 httproponse:

Nome do Atributo Propósito
Httpro -resposta.status_code O código de status HTTP da resposta é retornado por este atributo
Httpro -resposta.CHARST O char-set usado para codificar a resposta é definido por este atributo.
Httpro -resposta.transmissão O valor padrão deste atributo é falso.
Httpro -resposta.contente O conteúdo é representado na string byte por este atributo.
Httpro -resposta.RAILO_PHRASE A frase da razão HTTP da resposta é definida por este atributo.
Httpro -resposta.fechado Quando a resposta é fechada, este atributo retornará verdadeiro.

Métodos HTTPRESPONS:

Método Descrição
Httpro -resposta.__iniciar__(Content = ”, Content_Type = Nenhum, status = 200, Razão = Nenhum, Charset = Nenhum) Um objeto HTTPRESPONHE com o conteúdo da página fornecido e o tipo de conteúdo são iniciados por este método.
Httpro -resposta.__getItem__(cabeçalho) O valor do nome do cabeçalho específico é retornado por este método.
Httpro -resposta.__setItem__(cabeçalho, valor) O valor específico é definido como o nome do cabeçalho específico por este método.
Httpro -resposta.__delitem__(cabeçalho) O nome do cabeçalho específico é excluído por este método.
Httpro -resposta.conjunto padrão(cabeçalho, valor) O valor do cabeçalho padrão é definido por este método.
Httpro -resposta.has_header(cabeçalho) A existência do nome do cabeçalho específica é verificada por este método.
Httpro -resposta.escrever(contente) O objeto de resposta em forma de arquivo é criado por este método.
Httpro -resposta.Obter valor() O valor da resposta.O conteúdo é recuperado por este método.
Httpro -resposta.legível() O objeto semelhante a um fluxo da classe HTTPRESPOSE é criado por este método.
Httpro -resposta.procurável () Este método é usado para tornar a resposta que busca o objeto-.
Httpro -resposta.dizer() Este método é usado para criar uma instância HTTPRESPSE como um objeto semelhante a um arquivo.
Httpro -resposta.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:

A. Instale a versão Django 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:

A. Execute o seguinte comando para criar um aplicativo django nomeado reqresapp.

$ python3 gerencia.py startapp reqresapp

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

$ python3 gerencia.py createSuperUser

C. Adicione o nome do aplicativo no Instalado_app parte de configurações.parquivo y.

Instalado_apps = [
..
'reqresapp'
]

Modifique os arquivos necessários:

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

Visualizações.py

# Importar httResponse
de Django.HTTP Importar httpResponse
# Defina a função para lidar com a solicitação e resposta
Def Index (solicitação):
caminho = solicitação.caminho
método = solicitação.método
userAgent = solicitação.Meta ['http_user_agent']
# A solicitação é tratada usando o objeto httproponse
Retorne httproponse ("

Testando o ciclo de resposta de solicitação de django


"
"

Caminho de solicitação: " + caminho +
"

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

Agente do usuário: " + userAgent +"

")

Modificar 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.URLs Caminho de importação
# Importar visualização
de Reqresapp.Visualizações IMPORT INDEX
# Defina o caminho
urlpatterns = [
caminho (", índice),
]

Execute o seguinte comando para iniciar o servidor Django.

$ python3 gerencia.PY RUNSERVER

Execute o seguinte URL do 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 pela HTTPRESPONS.

Conclusão:

Como os diferentes atributos e métodos de httprequest e httproponse podem ser usados ​​no aplicativo Django são mostrados neste tutorial. Os usuários do Django poderão usar os objetos de solicitação e resposta do Django depois de ler este tutorial.