Desenvolvimento web com Flask

Book description


Tenha um controle criativo total sobre suas aplicações web usando o Flask – um microframework baseado em Python. Com este livro prático, você conhecerá o Flask desde o básico, desenvolvendo uma aplicação completa para o mundo real, criada pelo autor Miguel Grinberg. Esta edição atualizada leva em consideração as mudanças importantes de tecnologia ocorridas nos últimos três anos.

Explore as principais funcionalidades do framework e aprenda a estender aplicações com técnicas sofisticadas de web, como migrações de bancos de dados e uma interface de programação de aplicações. A primeira parte de cada capítulo apresenta uma referência e um pano de fundo sobre o assunto em questão, enquanto a segunda parte orientará você em uma implementação prática.

Se você tem experiência com Python, estará pronto para tirar proveito da liberdade criativa oferecida pelo Flask. As três partes do livro incluem:

Uma introdução completa ao Flask: explore o básico sobre o desenvolvimento de aplicações web com o Flask e conheça uma estrutura apropriada para aplicações de médio e grande portes.

Desenvolvimento do Flasky: aprenda a desenvolver, passo a passo, uma aplicação de blogging de código aberto, reutilizando templates, colocando itens de lista em páginas e trabalhando com rich text.

Percorrendo a reta final: mergulhe nas estratégias de testes de unidade, técnicas de análise de desempenho e opções de implantação para a sua aplicação Flask.

Table of contents

  1. Prefácio
    1. Agradecimentos
  2. parte I
    1. Introdução ao Flask
    2. capítulo 1
      1. Instalação
        1. Criando o diretório da aplicação
        2. Ambientes virtuais
        3. Criando um ambiente virtual com Python 3
        4. Criando um ambiente virtual com Python 2
        5. Trabalhando com um ambiente virtual
        6. Instalando pacotes Python com o pip
    3. capítulo 2
      1. Estrutura básica da aplicação
        1. Inicialização
        2. Rotas e funções de view
        3. Uma aplicação completa
        4. Servidor web de desenvolvimento
        5. Rotas dinâmicas
        6. Modo de depuração
        7. Opções da linha de comando
        8. Ciclo de requisição-resposta
          1. Contextos da aplicação e da requisição
          2. Dispatching de requisições
          3. O objeto de requisição
          4. Hooks da requisição
          5. Respostas
        9. Extensões do Flask
    4. capítulo 3
      1. Templates
        1. Engine de templates Jinja2
          1. Renderizando templates
          2. Variáveis
          3. Estruturas de controle
        2. Integração do Bootstrap com o Flask-Bootstrap
        3. Páginas de erro personalizadas
        4. Links
        5. Arquivos estáticos
        6. Localização de datas e horas com o Flask-Moment
    5. capítulo 4
      1. Formulários web
        1. Configuração
        2. Classes de formulário
        3. Renderização de HTML em formulários
        4. Tratamento de formulário em funções de view
        5. Redirecionamentos e sessões de usuário
        6. Apresentação de mensagens flash
    6. capítulo 5
      1. Bancos de dados
        1. Bancos de dados SQL
        2. Banco de dados NoSQL
        3. SQL ou NoSQL?
        4. Frameworks Python para bancos de dados
        5. Gerenciamento de banco de dados com o Flask-SQLAlchemy
        6. Definição de modelos
        7. Relacionamentos
        8. Operações no banco de dados
          1. Criando as tabelas
          2. Inserindo linhas
          3. Modificando linhas
          4. Apagando linhas
          5. Consultando linhas
        9. Uso de banco de dados em funções de view
        10. Integração com o shell Python
        11. Migrações de banco de dados com o Flask-Migrate
          1. Criando um repositório de migração
          2. Criando um script para migração
          3. Atualizando o banco de dados
          4. Adicionando mais migrações
    7. capítulo 6
      1. Email
        1. Suporte a emails com o Flask-Mail
          1. Enviando email a partir do shell Python
          2. Integrando emails com a aplicação
          3. Enviando um email assíncrono
    8. capítulo 7
      1. Estrutura de uma aplicação maior
        1. Estrutura do projeto
        2. Opções de configuração
        3. Pacote da aplicação
          1. Usando uma factory de aplicação
          2. Implementando funcionalidades da aplicação em um blueprint
        4. Script da aplicação
        5. Arquivo de requisitos
        6. Testes de unidade
        7. Configuração do banco de dados
        8. Executando a aplicação
  3. parte II
    1. Exemplo: uma aplicação de blogging social
    2. capítulo 8
      1. Autenticação de usuário
        1. Extensões de autenticação para o Flask
        2. Segurança de senhas
          1. Hashing de senhas com o Werkzeug
        3. Criando um blueprint de autenticação
        4. Autenticação de usuário com o Flask-Login
          1. Preparando o modelo User para logins
          2. Protegendo as rotas
          3. Acrescentando um formulário de login
          4. Fazendo login dos usuários
          5. Fazendo logout dos usuários
          6. Entendendo o funcionamento do Flask-Login
          7. Testando os logins
        5. Cadastro de novos usuários
          1. Acrescentando um formulário para cadastro de usuário
          2. Cadastrando novos usuários
        6. Confirmação da conta
          1. Gerando tokens de confirmação com itsdangerous
          2. Enviando emails de confirmação
        7. Gerenciamento de contas
    3. capítulo 9
      1. Funções de usuário
        1. Representação das funções de usuário no banco de dados
        2. Atribuição de funções de usuário
        3. Verificação da função do usuário
    4. capítulo 10
      1. Perfis de usuários
        1. Informações nos perfis
        2. Página de perfil do usuário
        3. Editor de perfil
          1. Editor de perfil no nível de usuário
          2. Editor de perfil no nível administrador
        4. Avatares de usuário
    5. capítulo 11
      1. Postagens de blog
        1. Submissão e exibição de postagens de blog
        2. Postagens de blog nas páginas de perfil
        3. Paginação de listas longas de postagens
          1. Criando dados de postagem simulados
          2. Renderizando em páginas
          3. Acrescentando um widget de paginação
        4. Postagens com rich text usando o Markdown e o Flask-PageDown
          1. Usando o Flask-PageDown
          2. Lidando com rich text no servidor
        5. Links permanentes para as postagens de blog
        6. Editor de postagem de blog
    6. capítulo 12
      1. Seguidores
        1. Revisando os relacionamentos no banco de dados
          1. Relacionamentos de muitos-para-muitos
          2. Relacionamentos autorreferenciais
          3. Relacionamentos de muitos-para-muitos mais sofisticados
        2. Seguidores na página de perfil
        3. Consultas de postagens seguidas usando uma junção do banco de dados
        4. Exibindo as postagens seguidas na página inicial
    7. capítulo 13
      1. Comentários de usuários
        1. Representação dos comentários no banco de dados
        2. Submissão e exibição de comentários
        3. Moderação dos comentários
    8. capítulo 14
      1. Interfaces de Programação de Aplicativos
        1. Introdução ao REST
          1. Tudo é recurso
          2. Métodos de requisição
          3. Corpos da requisição e da resposta
          4. Atribuição de versões
        2. Web services RESTful com o Flask
          1. Criando um blueprint para a API
          2. Tratamento de erros
          3. Autenticação de usuário com o Flask-HTTPAuth
          4. Autenticação baseada em token
          5. Serializando recursos para JSON e vice-versa
          6. Implementando endpoints de recursos
          7. Paginação de conjuntos grandes de recursos
          8. Testando web services com o HTTPie
  4. parte III
    1. A reta final
    2. capítulo 15
      1. Testes
        1. Obtendo relatórios de cobertura de código
        2. O cliente de testes do Flask
          1. Testando aplicações web
          2. Testando web services
        3. Testes fim a fim com o Selenium
        4. Vale a pena testar?
    3. capítulo 16
      1. Desempenho
        1. Fazendo log de consultas de baixo desempenho no banco de dados
        2. Geração de perfil do código-fonte
    4. capítulo 17
      1. Implantação
        1. Fluxo de tarefas para a implantação
        2. Logging de erros durante a execução em produção
        3. Implantação na nuvem
        4. Plataforma Heroku
          1. Preparando a aplicação
          2. Testando com o comando heroku local
          3. Fazendo a implantação com git push
          4. Implantação de um upgrade
        5. Contêineres do Docker
          1. Instalando o Docker
          2. Criando uma imagem de contêiner
          3. Executando um contêiner
          4. Inspecionando um contêiner em execução
          5. Fazendo o push de sua imagem de contêiner para um registry externo
          6. Usando um banco de dados externo
          7. Coordenação entre contêineres com o Docker Compose
          8. Limpando contêineres e imagens antigos
          9. Usando o Docker em produção
        6. Implantações tradicionais
          1. Configuração do servidor
          2. Importando variáveis de ambiente
          3. Configurando o logging
    5. capítulo 18
      1. Recursos adicionais
        1. Usando um IDE
        2. Encontrando extensões Flask
        3. Obtendo ajuda
        4. Envolvendo-se com o Flask
        5. Sobre o autor
        6. Colofão

Product information

  • Title: Desenvolvimento web com Flask
  • Author(s): Miguel Grinberg
  • Release date: May 2018
  • Publisher(s): Novatec Editora Ltda
  • ISBN: 9788575227442