Atualizado: 14/12/2024

Processando Requisições - Django

O processamento de requisições é o elemento central de qualquer aplicação web. No Django, ele é realizado por meio das views. As views são funções que recebem os dados das requisições, processam essas informações e retornam uma resposta ao cliente.

Uma view no Django recebe um objeto HttpRequest como parâmetro. Esse objeto, fornecido pelo pacote django.http, contém todas as informações sobre a requisição do usuário. A view processa esses dados e devolve uma resposta através de um objeto HttpResponse.

Por padrão, as views são organizadas no arquivo views.py, localizado dentro da aplicação.

Estrutura Básica de uma View

Considere um projeto Django padrão onde uma aplicação foi criada, conforme descrito no tema anterior:

Estrutura básica de um projeto Django padrão onde foi criada uma aplicação

Inicialmente, o arquivo views.py terá o seguinte conteúdo:

from django.shortcuts import render
# Create your views here.

Este código inicial ainda não processa requisições. Ele apenas importa a função render, que será utilizada posteriormente para renderizar templates.

Uma maneira simples de gerar uma resposta é utilizando a classe HttpResponse, que permite enviar conteúdo textual como resposta. Abaixo está um exemplo modificado do arquivo views.py:

from django.http import HttpResponse
  
def index(request):
    return HttpResponse("Página Inicial")
    
def about(request):
    return HttpResponse("Sobre o site")
    
def contact(request):
    return HttpResponse("Contato")

No exemplo acima, foram definidas três funções: index, about e contact. Cada função recebe o objeto request, que contém informações sobre a requisição HTTP. Embora o parâmetro request não seja utilizado diretamente, ele é obrigatório para que a função funcione como uma view. O conteúdo da resposta é passado diretamente ao construtor de HttpResponse, como uma string simples.

Configurando as Rotas

Para que as funções definidas no views.py sejam acessíveis através de URLs, é necessário configurar as rotas no arquivo urls.py do projeto.

A configuração do arquivo urls.py é feita da seguinte forma:

from django.urls import path
from hello import views
    
urlpatterns = [
    path('', views.index),
    path('about', views.about),
    path('contact', views.contact),
]

Aqui, a variável urlpatterns cria um mapeamento entre as URLs e as funções responsáveis pelo processamento das requisições.

  • A URL raiz ('') é associada à função index.

  • A URL /about é associada à função about.

  • A URL /contact é associada à função contact.

Quando o servidor é iniciado, acessar essas rotas no navegador chamará as funções correspondentes e enviará as respostas definidas no HttpResponse.

Acessando as rotas configuradas

Respostas em HTML

Além de texto simples, as respostas também podem incluir código HTML, que será interpretado e renderizado pelo navegador. A seguir, o arquivo views.py é modificado para retornar HTML como resposta:

from django.http import HttpResponse

def index(request):
    return HttpResponse("<h1>Página Inicial</h1>")

def about(request):
    return HttpResponse("<h1>Sobre o site</h1>")

def contact(request):
    return HttpResponse("<h1>Contato</h1>")

Neste exemplo, o conteúdo retornado pelas funções é um código HTML simples, que será interpretado pelo navegador e exibido de acordo com as tags HTML utilizadas.

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com