17. Views em Django

Página 91

No capítulo 17 de nosso curso de criação de sistemas com Python e Django, abordaremos um componente crucial do Django - as Views. As Views são responsáveis por processar as solicitações do usuário e retornar uma resposta. Em outras palavras, elas são a ponte entre os modelos e os templates.

As Views em Django são funções Python que recebem uma solicitação da Web e retornam uma resposta. Essa resposta pode ser o HTML de uma página da Web, um redirecionamento, um erro 404, um XML, uma imagem ou qualquer outra coisa. A view em si não contém nenhuma informação sobre o que deve ser enviado ao usuário. Para isso, ela se apóia nos modelos e templates.

Existem dois tipos de Views no Django: baseadas em função (FBVs) e baseadas em classe (CBVs). As FBVs são simples e fáceis de usar, especialmente para iniciantes. No entanto, para projetos maiores e mais complexos, as CBVs são geralmente uma escolha melhor, pois oferecem mais flexibilidade e funcionalidades.

As FBVs são definidas como funções Python normais, que recebem um objeto de solicitação como parâmetro e retornam um objeto de resposta. Por exemplo:

def minha_view(request):
    return HttpResponse('Olá, Mundo!')

As CBVs, por outro lado, são definidas como classes Python. Elas são mais poderosas e flexíveis que as FBVs, pois podem aproveitar a orientação a objetos e o DRY (Don't Repeat Yourself) do Python. As CBVs também fornecem uma estrutura consistente para suas views, tornando seu código mais fácil de ler e manter. Por exemplo:

class MinhaView(View):
    def get(self, request):
        return HttpResponse('Olá, Mundo!')

Para usar uma view, você precisa mapeá-la para uma URL. Isso é feito em um arquivo chamado urls.py. Cada aplicativo Django pode ter seu próprio arquivo urls.py, e o projeto Django principal também tem um. As URLs são mapeadas para views usando expressões regulares ou rotas de strings simples.

Por exemplo, para mapear a URL /minha_view para a view minha_view, você adicionaria o seguinte ao seu arquivo urls.py:

urlpatterns = [
    path('minha_view/', views.minha_view, name='minha_view'),
]

As views podem também processar dados do usuário. Por exemplo, se você quiser processar dados de um formulário, você pode fazer isso em uma view. A view recebe os dados do formulário, valida-os e, em seguida, salva os dados em um banco de dados ou realiza outras ações.

Por exemplo, aqui está uma view que processa um formulário de contato:

def contato_view(request):
    if request.method == 'POST':
        form = ContatoForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('sucesso')
    else:
        form = ContatoForm()
    return render(request, 'contato.html', {'form': form})

Em resumo, as views são uma parte essencial do Django. Elas processam as solicitações dos usuários, trabalham com os modelos para obter e salvar dados, e usam templates para criar a resposta que será enviada ao usuário. Dominar as views é um passo crucial para se tornar um desenvolvedor Django eficaz.

Agora responda o exercício sobre o conteúdo:

Qual é a principal função das Views no Django?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Próxima página do Ebook Gratuito:

9217.1. Views em Django: Introdução às views em Django

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto