Escolar Documentos
Profissional Documentos
Cultura Documentos
Django para
iniciantes
Tudo o que você precisa saber
para3exclusivos!
Bônus
criar o seu primeiro projeto
@pycodebr
Sumário
Introdução ao Django......................................3
Configuração e Instalação do Django.....5
Criando seu primeiro projeto Django.......7
Trabalhando com o banco de dados.....12
Templates e Gerenciamento de URLs.....17
Views no Django..............................................20
Formulários e Validação de Dados.........24
Autenticação e Autorização.......................28
Administração do Django...........................33
REST Framework no Django........................36
Serializers no Django......................................41
Conclusão..........................................................47
Agradecimentos.............................................50
@pycodebr
2
Capítulo 1
Introdução ao Django
O Django é um framework de desenvolvimento
web de código aberto escrito em Python. Ele foi
criado para ajudar os desenvolvedores a criar
aplicações web de forma rápida e eficiente,
fornecendo uma série de ferramentas e recursos
prontos para uso.
3
Sistema de templates: o Django possui um
sistema de templates poderoso e fácil de
usar que permite separar a lógica da
aplicação da apresentação.
4
Capítulo 2
Configuração e Instalação do Django
Antes de começar a trabalhar com o Django, é
necessário configurá-lo e instalá-lo em seu
computador. Isso pode parecer um pouco
assustador, mas não se preocupe, é mais fácil
do que parece. Neste capítulo, vamos passar por
todos os passos necessários para configurar e
instalar o Django.
5
Passo 3: Instale o Django
Agora que você tem o Python e o pip instalados,
você pode instalar o Django usando o seguinte
comando no terminal ou cmd:
7
Passo 2: Inicie o servidor de
desenvolvimento
Com o projeto criado, você pode iniciar o
servidor de desenvolvimento do Django usando
o seguinte comando:
8
A pasta principal do projeto contém arquivos
importantes como o manage.py, que fornece
vários comandos para gerenciar o projeto, e o
arquivo settings.py, que contém as
configurações do projeto.
9
Passo 4: Crie uma aplicação
No Django, as aplicações são organizadas em
pacotes de código independentes que podem ser
reutilizados em diferentes projetos. Essas
aplicações são criadas usando o comando
startapp e são adicionadas ao projeto usando o
arquivo settings.py. Cada aplicação contém
seus próprios arquivos de modelos, views,
templates e URLs, o que permite a separação
lógica do código e facilita a manutenção e o
escalonamento. Além disso, as aplicações
podem ser facilmente compartilhadas entre
projetos através de pacotes Python e
gerenciadas usando ferramentas de
gerenciamento de pacotes como o pip.
Para criar uma aplicação nova, você usará o
seguinte comando:
10
Agora que você tem um projeto Django criado e
uma aplicação, está pronto para começar.
11
Capítulo 4
Trabalhando com o banco de dados
No Django, o banco de dados é gerenciado
através de um ORM (Object-Relational Mapping),
que permite que você trabalhe com os dados
como objetos Python em vez de escrever
consultas SQL diretamente. Neste capítulo,
vamos explorar como trabalhar com o banco de
dados no Django, incluindo como criar modelos,
fazer consultas e realizar operações CRUD de
forma mais detalhada.
13
O comando makemigrations irá criar um arquivo
de migração na pasta migrations, que contém
instruções para criar e modificar tabelas no
banco de dados de acordo com as alterações
feitas nos modelos. O comando migrate irá
aplicar essas instruções no banco de dados,
criando ou modificando tabelas de acordo.
14
Exemplo de consulta com ordenação:
15
Exemplo de atualização de um objeto:
17
Passo 2: Renderizando Templates
Para renderizar um template, você precisará criar
uma função de visualização (view) e usar a
função render() fornecida pelo Django. A função
render() recebe três argumentos: a solicitação, o
nome do template e um dicionário de contexto
(opcional).
Exemplo de uma função de visualização que
renderiza um template:
18
Exemplo de configuração de URL em urls.py:
19
Capítulo 6
Views no Django
As views são a camada intermediária entre as
URLs e os modelos no Django. Elas são
responsáveis por processar as solicitações e
retornar as respostas. Elas podem ser escritas
como funções ou como classes.
20
Class-based view: são views baseadas em
classes e herdam de uma das classes de views
fornecidas pelo Django. Elas são úteis quando
você precisa reutilizar lógica comum entre várias
views. Essas views são altamente
personalizáveis e oferecem diversas
possibilidades, como paginação de dados,
tratamento de erros e validação de formulários.
21
View de formulário: é uma view específica para
lidar com formulários. Ela valida e processa os
dados do formulário. Essas views são úteis para
gerenciar o envio e o tratamento de dados de
formulários, incluindo validação, envio de e-mails
e armazenamento de dados.
22
View de detalhes: é uma view específica para
exibir detalhes de um objeto específico. Ela pode
ser usada para exibir detalhes de um objeto de
modelo, como informações de um produto ou um
perfil de usuário.
23
Capítulo 7
Formulários e Validação de Dados
No Django, os formulários são usados para
coletar dados do usuário e a validação de dados
é usada para garantir que os dados coletados
sejam válidos. Neste capítulo, vamos explorar
como trabalhar com formulários e validação de
dados no Django, incluindo como criar
formulários, gerenciar dados de formulários e
validar dados.
24
Passo 2: Gerenciando Dados de Formulários
Quando um formulário é submetido, os dados
são enviados para o servidor através do método
HTTP especificado (geralmente GET ou POST).
No Django, você pode acessar esses dados de
formulário através do objeto request.POST ou
request.GET.
Exemplo de como acessar os dados de um
formulário enviado via POST:
25
Exemplo de validação de um campo de e-mail:
26
Em resumo, os formulários e validação de dados
são fundamentais para garantir a coleta segura e
precisa de dados do usuário. O Django fornece
uma maneira fácil e eficiente de trabalhar com
formulários, incluindo a criação de formulários,
gerenciamento de dados de formulários e
validação de dados. Como desenvolvedor, você
pode se concentrar em escrever código Python
para lidar com dados do usuário, enquanto o
Django cuida da validação e segurança dos
dados.
27
Capítulo 8
Autenticação e Autorização
A autenticação é o processo de verificar a
identidade do usuário e a autorização é o
processo de garantir que o usuário tenha
permissão para acessar determinadas
funcionalidades ou recursos. No Django, o
sistema de autenticação e autorização é
fornecido através do módulo
django.contrib.auth. Neste capítulo, vamos
explorar como trabalhar com a autenticação e
autorização no Django, incluindo como criar
usuários, gerenciar sessões e definir permissões.
28
Exemplo de como criar um novo usuário:
29
Exemplo de como fazer login:
30
Passo 3: Define Permissões
O Django fornece uma maneira fácil de gerenciar
permissões, incluindo a criação de grupos e
atribuição de permissões a grupos ou usuários.
Você pode usar o módulo
django.contrib.auth.models para criar grupos e
atribuir permissões usando o método
user.groups.add() ou
user.user_permissions.add().
Exemplo de como criar um grupo e atribuir
permissões:
31
Em resumo, a autenticação e autorização são
fundamentais para garantir a segurança e
acesso apropriado em uma aplicação web. O
Django fornece um sistema completo de
autenticação e autorização que inclui a criação
de usuários, gerenciamento de sessões e
definição de permissões. Como desenvolvedor,
você pode se concentrar em escrever código
Python para lidar com a lógica de negócios e
autorização, enquanto o Django cuida da
segurança e autenticação dos usuários. Além
disso, é importante sempre manter as
informações de seus usuários seguras, utilizando
técnicas de criptografia para armazenar senhas
e evitando o armazenamento de informações
sensíveis em sessões ou cookies. Certifique-se
também de implementar medidas adicionais de
segurança, como o uso de certificados SSL para
comunicações seguras e a validação de dados
de formulário para evitar ataques de injeção de
SQL e outras vulnerabilidades comuns.
32
Capítulo 9
Administração do Django
O admin do Django é uma ferramenta de
administração criada para gerenciar o conteúdo
do seu aplicativo. Ele fornece uma interface web
fácil de usar para gerenciar os dados de seu
aplicativo, incluindo adicionar, editar e excluir
registros. O admin é acessado por usuários
autenticados com permissões de administrador.
33
Para criar um usuário com permissões de
administrador, você pode usar o comando
createsuperuser do Django. Ele irá pedir o
nome de usuário, email e senha.
34
Além disso, o admin do Django também fornece
uma série de recursos avançados, como
filtragem, pesquisa e paginação de dados, bem
como a capacidade de exportar e importar
dados. Ele também fornece suporte para
tradução, o que permite gerenciar seus dados
em vários idiomas.
35
Capítulo 10
REST Framework no Django
O REST Framework é uma biblioteca para
criação de APIs RESTful no Django. Ele fornece
uma série de recursos avançados para gerenciar
requisições HTTP e respostas, incluindo
autenticação, autorização, paginação e
serialização de dados.
36
Uma vez instalado, você pode começar a criar
suas próprias views de API usando o REST
Framework. Ele fornece classes de visualização
específicas para lidar com requisições HTTP e
serializar dados. Por exemplo, a classe APIView
é a classe básica para lidar com requisições
HTTP e a classe ModelViewSet é usada para
lidar com modelos do Django.
37
Além disso, o REST Framework fornece recursos
avançados para autenticação, autorização e
serialização de dados. Por exemplo, você pode
usar o módulo authentication para autenticar
usuários e o módulo permissions para definir
permissões para acesso a recursos.
38
Além disso, o REST Framework fornece uma
classe `Serializer` para serializar e desserializar
dados. Isso permite que você converta dados
Python em formatos como JSON e XML e vice-
versa.
39
Em resumo, o REST Framework é uma
excelente biblioteca para criar APIs RESTful no
Django. Ele fornece recursos avançados para
gerenciar requisições HTTP e respostas,
incluindo autenticação, autorização, paginação e
serialização de dados. Além disso, ele segue as
melhores práticas recomendadas para criação de
APIs, tornando mais fácil criar aplicações
escaláveis e seguras. Ao usar o REST
Framework, você pode se concentrar em
escrever lógica de negócios e autorização
enquanto ele cuida da segurança e manutenção
da sua API. Você encontra mais informações
sobre o Django Rest Framework no site oficial
nesse link.
40
Capítulo 11
Serializers no Django
Os serializers são uma parte importante do
Django REST framework, que permitem
converter dados entre diferentes formatos, como
Python para JSON e vice-versa. Eles são usados
para validar dados de entrada, converter dados
para um formato que possa ser entendido pelo
modelo e gerar saídas formatadas.
41
Exemplo de como criar um serializer:
42
Ao usar serializers, é importante garantir que
eles são usados de maneira adequada e que os
dados sejam validados corretamente antes de
serem persistidos. Isso pode incluir verificações
de valor mínimo e máximo, validações de
formato de data e verificações de unicidade.
43
Ao usar serializers, é importante garantir que
eles são usados de maneira adequada e que os
dados sejam validados corretamente antes de
serem persistidos. Isso pode incluir verificações
de valor mínimo e máximo, validações de
formato de data e verificações de unicidade.
44
Neste exemplo, o campo address não é
obrigatório e pode ser incluído ou excluído da
saída de dados.
45
Em resumo, os serializers são uma ferramenta
importante no Django REST framework,
permitindo converter dados entre formatos e
validar dados de entrada. Eles são fundamentais
para garantir que os dados sejam válidos e
salvos corretamente no banco de dados. Eles
também oferecem recursos avançados, como a
capacidade de incluir ou excluir campos na saída
de dados, incluir métodos personalizados para
validação de dados, e lidar com dados
relacionais.
46
Capítulo 12
Conclusão
Este livro foi projetado para fornecer uma
introdução ao desenvolvimento de aplicativos
web com o Django. Você aprendeu sobre os
conceitos fundamentais do Django, incluindo
como trabalhar com modelos, views, formulários,
banco de dados, autenticação e autorização e
REST Framework. Agora que você tem essas
informações básicas, é hora de colocá-las em
prática.
47
Assista a vídeos e participe de comunidades
online. Há muitos recursos disponíveis para
ajudá-lo a aprender e fazer perguntas.
Faça um curso online ou participe de um
grupo de estudo. Aprender com outras
pessoas pode ser uma ótima maneira de
adquirir novos conhecimentos e obter
feedback.
48
Faça uso de bibliotecas e frameworks
adicionais para adicionar recursos e
funcionalidades. O Django tem uma
comunidade ativa e há muitas bibliotecas e
frameworks disponíveis para ajudá-lo a
adicionar recursos avançados.
49
Capítulo 13
Agradecimentos e Recursos Adicionais
Este livro foi escrito para ajudá-lo a entender e
aplicar os conceitos básicos do Django. Espero
que você tenha encontrado o conteúdo útil e
informativo. Se você deseja continuar
aprendendo sobre desenvolvimento de
aplicativos web e tecnologias relacionadas,
gostaria de convidá-lo a se conectar comigo
através das minhas redes sociais.
instagram.com/pycodebr
youtube.com/@pycodebr
51