Formulários em Django: Criação de um aplicativo Django

Capítulo 117

Tempo estimado de leitura: 5 minutos

+ Exercício
Audio Icon

Ouça em áudio

0:00 / 0:00

O Django é um framework de desenvolvimento web de alto nível escrito em Python que promove o desenvolvimento rápido, o design limpo e a abordagem pragmática. Um dos aspectos mais importantes do desenvolvimento web é a manipulação de formulários. Nesse contexto, vamos nos concentrar na seção 19.4: Formulários em Django.

Os formulários são uma parte essencial de qualquer aplicativo web. Eles são a interface principal para a entrada do usuário, permitindo que os usuários insiram dados que o aplicativo pode então usar para realizar uma variedade de tarefas. No Django, os formulários são tratados por uma biblioteca de formulários integrada.

Criação de um aplicativo Django

Para começar, precisamos criar um novo aplicativo Django. Suponha que o nome do nosso aplicativo seja 'myapp'. Para criar este aplicativo, usamos o comando:


python manage.py startapp myapp

Em seguida, precisamos adicionar 'myapp' à lista de INSTALLED_APPS em nosso arquivo settings.py para que o Django saiba que ele existe.

Formulários em Django

O Django fornece várias maneiras de criar formulários. A maneira mais comum é usar a classe Form. Uma classe Form é simplesmente uma maneira de definir campos de formulário. Cada campo de formulário tem um tipo de campo específico - CharField para campos de entrada de texto, DateTimeField para entradas de data e hora, etc.

Continue em nosso aplicativo e ...
  • Ouça o áudio com a tela desligada
  • Ganhe Certificado após a conclusão
  • + de 5000 cursos para você explorar!
ou continue lendo abaixo...
Download App

Baixar o aplicativo

Por exemplo, podemos criar um formulário simples para um sistema de comentários da seguinte maneira:


from django import forms

class CommentForm(forms.Form):
    name = forms.CharField(max_length=100)
    comment = forms.CharField(widget=forms.Textarea)

Este é um formulário muito básico com dois campos - um campo de entrada de texto para o nome e uma área de texto para o comentário. O Django automaticamente lida com a renderização desses campos como HTML, a validação da entrada do usuário e a conversão da entrada do usuário em tipos de dados Python.

Usando Formulários em Views

Depois de definir um formulário, podemos usá-lo em uma view. Uma view é simplesmente uma função Python que recebe uma solicitação da web e retorna uma resposta. No Django, podemos usar a função render() para renderizar um template HTML com um contexto dado. O contexto é um dicionário que mapeia nomes de variáveis para valores de Python.

Por exemplo, aqui está uma view que renderiza nosso formulário CommentForm:


from django.shortcuts import render
from .forms import CommentForm

def comment(request):
    form = CommentForm()
    return render(request, 'comment.html', {'form': form})

Esta view simplesmente cria uma nova instância do nosso CommentForm e a passa para o template 'comment.html' sob o nome 'form'.

Manipulação de Submissões de Formulários

Quando um usuário envia um formulário, precisamos processar os dados do formulário. O Django facilita isso com o método is_valid(). Este método verifica se os dados do formulário são válidos - se todos os campos foram preenchidos corretamente e se os dados passam por todas as validações definidas.

Se o formulário for válido, podemos acessar os dados do formulário limpos através do atributo cleaned_data, que é um dicionário que mapeia nomes de campos para valores de campos limpos.

Por exemplo, aqui está uma view que processa a submissão do nosso CommentForm:


from django.shortcuts import render, redirect
from .forms import CommentForm

def comment(request):
    if request.method == 'POST':
        form = CommentForm(request.POST)
        if form.is_valid():
            # process the data in form.cleaned_data
            # ...
            return redirect('success')
    else:
        form = CommentForm()
    return render(request, 'comment.html', {'form': form})

Esta view primeiro verifica se a solicitação é um POST. Se for, ele cria uma nova instância do CommentForm a partir dos dados POST, verifica se o formulário é válido e, em seguida, processa os dados. Se a solicitação não for um POST, a view simplesmente renderiza o formulário como antes.

Conclusão

Os formulários são uma parte essencial do desenvolvimento web e o Django fornece uma maneira poderosa e flexível de trabalhar com eles. Com a biblioteca de formulários do Django, podemos definir formulários de maneira declarativa, processar submissões de formulários com facilidade e reutilizar formulários comuns em todo o nosso aplicativo.

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

Qual é a função do método is_valid() no Django?

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

Você errou! Tente novamente.

O método is_valid() no Django verifica se os dados submetidos em um formulário são válidos. Ele assegura que todos os campos foram preenchidos corretamente e que os dados atendem a todas as validações definidas. Isso é essencial para garantir a integridade e consistência dos dados recebidos através dos formulários.

Próximo capitúlo

Formulários em Django: Modelos em Django

Arrow Right Icon
Capa do Ebook gratuito Curso de criação de sistemas com Python e Django completo
66%

Curso de criação de sistemas com Python e Django completo

5

(4)

176 páginas

Baixe o app para ganhar Certificação grátis e ouvir os cursos em background, mesmo com a tela desligada.