Desenvolvimento Web com Django 3 Cookbook

Soluções práticas para problemas comuns no desenvolvimento web com Python

Desenvolvimento Web com Django 3 Cookbook
× Desenvolvimento Web com Django 3 Cookbook

Desenvolvimento Web com Django 3 Cookbook

Compartilhar

Autores: Aidas Bendoraitis
Jake Kronika

ISBN impresso: 978-65-86057-27-0
ISBN ebook: 978-65-86057-28-7
Ano: 2020
Páginas: 568
Preço impresso: R$ 149,00 O ebook deste livro está disponível na Amazon.

Opine sobre este livro

Descrição do livro

Django é um framework web para perfeccionistas com prazos de entrega, projetado para ajudar você a criar projetos web gerenciáveis, de médio e grande portes, em um curto período. Esta quarta edição, Desenvolvimento Web com Django 3 Cookbook, foi atualizada com os recursos mais recentes de Django 3 para orientá-lo no processo de desenvolvimento, de modo eficaz.

Este livro sobre Django começa ajudando você a criar um ambiente virtual e a estrutura do projeto para implementar aplicações web com Python. Você aprenderá a criar modelos, views, formulários e templates para suas aplicações web e então integrará JavaScript em suas aplicações Django a fim de acrescentar mais recursos. À medida que avançar, criará sites responsivos para vários idiomas, prontos para serem compartilhados em redes sociais.

O livro orientará você no processo de uploading e processamento de imagens, na renderização de dados em HTML5, PDF e Excel, no uso e na criação de APIs e na navegação por diferentes tipos de dados em Django. Você se tornará um profundo conhecedor das melhores práticas de segurança e de técnicas de caching para aumentar a segurança e a velocidade de seu site. Esta edição o ajudará a trabalhar não só com o banco de dados PostgreSQL, mas também com o MySQL. Há também receitas sofisticadas para usar Django com o Docker e o Ansible nos ambientes de desenvolvimento, staging e produção.

Ao finalizar este livro, você se tornará proficiente no uso dos recursos eficazes de Django e estará preparado para criar sites robustos.

Ver menos ▲

Sumário

  • Prefácio
  • Capítulo
    • ■ Introdução a Django 3.0
  • Introdução
  • Requisitos técnicos
  • Trabalhando com um ambiente virtual
  • Criando a estrutura de arquivos de um projeto
  • Lidando com as dependências do projeto usando o pip
  • Configurando parâmetros para os ambientes de desenvolvimento, testes, staging e produção .28 Definindo paths relativos nas configurações
  • Lidando com configurações sigilosas
  • Incluindo dependências externas em seu projeto
  • Configurando STATIC URL dinamicamente
  • Configurando UTF-8 como a codificação default na configuração do MySQL
  • Criando o arquivo ignore do Git
  • Apagando arquivos Python compilados
  • Respeitando a ordem das importações nos arquivos Python
  • Criando a configuração de uma aplicação
  • Definindo configurações de aplicação que podem ser sobrescritas
  • Trabalhando com Docker para Django, Gunicorn, Nginx e PostgreSQL
  • Capítulo
    • ■ Modelos e estrutura do banco de dados
  • Introdução
  • Requisitos técnicos
  • Usando mixins de modelos
  • Criando uma mixin de modelo com métodos relacionados a URL
  • Criando mixin de modelo para lidar com datas de criação e de modificação
  • Criando uma mixin de modelo para cuidar de tags meta
  • Criando mixin de modelo para lidar com relacionamentos genéricos
  • Lidando com campos para vários idiomas
  • Trabalhando com tabelas de tradução de modelos
  • Evitando dependências circulares
  • Adicionando restrições no banco de dados
  • Usando migrações
  • Alterando uma chave estrangeira para o campo de muitos para muitos (many-to-many)
  • Capítulo
    • ■ Formulários e views
  • Introdução
  • Requisitos técnicos
  • Criando uma aplicação com funções CRUDL
  • Salvando o autor da instância de um modelo
  • Fazendo upload de imagens
  • Criando um layout de formulário com templates personalizados
  • Criando um layout de formulário com o django-crispy-forms
  • Trabalhando com formsets
  • Filtrando listas de objetos
  • Gerenciando listas com paginação
  • Compondo views baseadas em classe
  • Disponibilizando dados com Open Graph e Twitter Card
  • Disponibilizando vocabulário do schema org
  • Gerando documentos PDF
  • Implementando pesquisa para vários idiomas com o Haystack e o Whoosh
  • Implementando pesquisa para vários idiomas com o Elasticsearch DSL
  • Capítulo
    • ■ Templates e JavaScript
  • Introdução
  • Requisitos técnicos
  • Organizando o template base html
  • Usando o Django Sekizai
  • Expondo configurações em JavaScript
  • Usando atributos de dados do HTML5
  • Disponibilizando imagens responsivas
  • Implementando uma rolagem contínua
  • Expondo detalhes do objeto em um diálogo modal
  • Implementando o widget Like
  • Fazendo upload de imagens com o AJax
  • Capítulo
    • ■ Filtros e tags de template personalizados
  • Introdução
  • Requisitos técnicos
  • Seguindo convenções para seus próprios filtros e tags de template
  • Criando um filtro de template para mostrar quantos dias se passaram desde que uma postagem foi publicada
  • Criando um filtro de template para extrair o primeiro objeto de mídia
  • Criando um filtro de template para humanizar URLs
  • Criando tag de template para incluir um template, caso exista
  • Criando tag de template para carregar um QuerySet em um template
  • Criando tag de template para fazer parse de conteúdo como um template
  • Criando tags de template para modificar parâmetros de consulta da requisição
  • Sumário
  • Capítulo
    • ■ Administração de modelos
  • Introdução
  • Requisitos técnicos
  • Personalizando colunas na página de lista para modificação de dados
  • Criando inlines que podem ser ordenados
  • Criando ações de administração
  • Desenvolvendo filtros para listas usadas na modificação de dados
  • Modificando o rótulo de uma aplicação de terceiros
  • Criando uma aplicação personalizada para contas
  • Obtendo Gravatars de usuários
  • Inserindo um mapa em um formulário de alteração
  • Capítulo
    • ■ Segurança e desempenho
  • Introdução
  • Requisitos técnicos
  • Tornando os formulários seguros contra CSRF (Cross-Site Request Forgery, ou Falsificação de Requisições Entre Sites)
  • Tornando as requisições seguras com CSP (Content Security Policy, ou Política de Segurança de Conteúdo)
  • Usando o django-admin-honeypot
  • Implementando validação de senhas
  • Fazendo download de arquivos autorizados
  • Adicionando uma marca d’água dinâmica nas imagens
  • Autenticando-se com o Auth0
  • Fazendo caching do valor de retorno de um método
  • Usando o Memcached para caching de views de Django
  • Usando o Redis para caching de views de Django
  • Capítulo
    • ■ Estruturas hierárquicas
  • Introdução
  • Requisitos técnicos
  • Criando categorias hierárquicas com o django-mptt
  • Criando uma interface de admin de categorias com o django-mptt-admin
  • Renderizando categorias em um template com o django-mptt
  • Usando um campo de seleção única para escolher uma categoria nos formulários, com o django-mptt
  • Usando uma lista de seleção para escolher várias categorias nos formulários, com o django-mptt
  • Criando categorias hierárquicas com o django-treebeard
  • Criando uma interface básica para administração de categorias com o django-treebeard
  • Capítulo
    • ■ Importação e exportação de dados
  • Introdução
  • Requisitos técnicos
  • Importando dados de um arquivo CSV local
  • Importando dados de um arquivo Excel local
  • Importando dados de um arquivo JSON externo
  • Importando dados de um arquivo XML externo
  • Preparando mapas de site com paginação para ferramentas de pesquisa
  • Criando feeds RSS que podem ser filtrados
  • Usando o framework Django REST para criar uma API
  • Capítulo
    • ■ Complementos
  • Introdução
  • Requisitos técnicos
  • Usando o shell de Django
  • Usando expressões de consulta no banco de dados
  • Fazendo um monkey patch na função slugify() para melhor suporte à internacionalização .466 Alternando a barra de ferramentas de Debug
  • Usando o ThreadLocalMiddleware
  • Sinais para notificar os administradores a respeito de novas entradas
  • Verificando configurações ausentes
  • Capítulo
    • ■ Testes
  • Introdução
  • Requisitos técnicos
  • Testando views com simulação
  • Testando a interface de usuário com o Selenium
  • Testando APIs criadas com o framework Django REST
  • Garantindo a cobertura dos testes
  • Capítulo
    • ■ Implantação
  • Introdução
  • Requisitos técnicos
  • Lançando uma aplicação Django reutilizável
  • Implantando no ambiente de staging usando Apache com mod wsgi
  • Implantando no ambiente de produção usando Apache com mod wsgi
  • Implantando no ambiente de staging com Nginx e Gunicorn
  • Implantando no ambiente de produção com Nginx e Gunicorn
  • Sumário
  • Capítulo
    • ■ Manutenção
  • Introdução
  • Requisitos técnicos
  • Criando e restaurando backups do banco de dados MySQL
  • Criando e restaurando backups do banco de dados PostgreSQL
  • Configurando cron jobs para tarefas regulares
  • Fazendo log de eventos para futura inspeção
  • Obtendo informações de erro detalhadas por email
Ver sumário completo ▼

Sobre os autores

Aidas Bendoraitis

Aidas Bendoraitis cria sites profissionalmente há 18 anos. Nos últimos 14 anos, tem trabalhado em uma empresa de design, a studio 38 pure communication, em Berlim. Com uma pequena equipe dedicada, faz uso principalmente de Django no backend e da jQuery no frontend para criar plataformas web nas áreas de cultura e turismo. Entre seus diferentes projetos… Ver perfil completo ▶

Jake Kronika

Jake Kronika é engenheiro de software e tem 25 anos de experiência. Trabalha com Python desde 2005 e com Django desde 2007. Tem acompanhado de perto a evolução do mercado de desenvolvimento web, e seu conjunto de habilidades inclui HTML, CSS, JavaScript full-stack, Python, Django, React, Node.js, Ruby on Rails e várias outras tecnologias. Atualmente,… Ver perfil completo ▶