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
requeste retornam uma resposta urlpatterns+path()mapeiam URLs para visualizações, opcionalmente com umname- Conversores como
<int:id>capturam partes da URL include()conecta as URLs dos aplicativos;render()eget_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
- Projetos e aplicativos
- Modelos e migrações
- Visualizações e URLs
- O administrador do Django