0Pricing
Python Academy · Aula

Visualizações e URLs

Direcione solicitações para visualizações

Visualizações e URLs é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Python Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Python Academy inclui 4 aulas no total.

O que é uma visualização?

Uma visualização do Django é uma função (ou classe) que recebe uma requisição web e retorna uma resposta web. As visualizações contêm a lógica da página e ficam no views.py de um aplicativo.

from django.http import HttpResponse

def home(request):
    return HttpResponse('Hello, world!')
print('A view takes request, returns response')

O argumento de requisição

Toda visualização recebe um objeto request que contém detalhes sobre a requisição recebida: método, dados de GET/POST, usuário e muito mais.

from django.http import HttpResponse

def info(request):
    return HttpResponse('Method: ' + request.method)
print('request carries the incoming data')

Padrões de URL

O urls.py de um aplicativo mapeia caminhos de URL para visualizações usando uma lista chamada urlpatterns e a função path().

# blog/urls.py
from django.urls import path
from . import views

urlpatterns = [
    path('', views.home),
]
print('path maps a URL to a view')

Dando nomes às URLs

Dê um name a um padrão para que você possa referenciá-lo em outros lugares sem codificar o caminho diretamente.

from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),
]
print("name='home' lets you reference it later")

Parâmetros de URL

Capture partes da URL com conversores como <int:post_id>. O valor capturado é passado para a visualização.

from django.urls import path
from . import views

urlpatterns = [
    path('post/<int:post_id>/', views.detail, name='detail'),
]
print('post/5/ -> detail(request, post_id=5)')

Lendo o parâmetro

O valor capturado chega como um argumento nomeado que corresponde ao nome do conversor.

from django.http import HttpResponse

def detail(request, post_id):
    return HttpResponse('Post ' + str(post_id))
print('View receives post_id')

Incluindo as URLs do aplicativo

O urls.py raiz do projeto inclui as URLs de cada aplicativo com include(), mantendo o roteamento modular.

# mysite/urls.py
from django.urls import path, include

urlpatterns = [
    path('blog/', include('blog.urls')),
]
print('include() wires up app urls')

Renderizando templates

O atalho render() combina um template com um dicionário de contexto e retorna uma HttpResponse.

from django.shortcuts import render

def home(request):
    return render(request, 'home.html', {'name': 'Alice'})
print('render combines template + context')

Auxiliares para 404

get_object_or_404() busca um objeto ou gera um erro 404 se ele não existir, um padrão comum e seguro.

from django.shortcuts import get_object_or_404, render
from .models import Post

def detail(request, post_id):
    post = get_object_or_404(Post, id=post_id)
    return render(request, 'detail.html', {'post': post})
print('get_object_or_404 handles missing data')

Invertendo URLs

Em Python, reverse('detail', args=[5]) cria uma URL a partir do nome de um padrão. Nos templates, a tag {% url %} faz o mesmo.

from django.urls import reverse
# reverse('detail', args=[5]) -> '/blog/post/5/'
# In a template: {% url 'detail' post.id %}
print('reverse builds URLs from names')

Visualizações baseadas em classes

O Django também oferece visualizações baseadas em classes, como ListView e DetailView, que lidam com padrões comuns usando menos código.

from django.views.generic import ListView
from .models import Post

class PostList(ListView):
    model = Post
print('ListView lists objects automatically')

Verificação rápida

Avalie seus conhecimentos sobre visualizações e URLs.

Recapitulação

Você encaminhou requisições para visualizações.

  • As visualizações recebem um request e retornam uma resposta
  • urlpatterns + path() mapeiam URLs para visualizações, opcionalmente com um name
  • Conversores como <int:id> capturam partes da URL
  • include() conecta as URLs dos aplicativos; render() e get_object_or_404() são atalhos úteis

Perguntas Frequentes

A aula “Visualizações e URLs” é grátis?

Sim — o texto completo de “Visualizações e URLs” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Python Academy, atualize para CoddyKit PRO. O curso de Python Academy inclui 4 aulas no total.

O que vou aprender em “Visualizações e URLs”?

Direcione solicitações para visualizações Você pratica Python Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Python Academy?

Nenhuma experiência prévia é necessária. Python Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Visualizações e URLs”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Python Academy?

Sim. Cada aula de Python Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Projetos e aplicativos
  2. Modelos e migrações
  3. Visualizações e URLs
  4. O administrador do Django
← Voltar para Python Academy