Próximas Turmas

  • Frequência: Sábado
  • Horário: 13:00/17:00h
  • Término Previsto: 07/06/2025
  • Modalidade: Presencial/online
  • Professor: Sergio Luiz
Investimento:

Entrada: R$ 739,20 + 36x de R$ 290,35
ou
12*560,00 no cartão
Valores para matrícula até 20/12/2024

Realizar matrícula

O que você vai aprender nesse curso

O curso de Python Web developer Full Stack (django + flask) tem como objetivo apresentar a linguagem python e suas tecnologias para desenvolvimento web e construção de aplicações baseadas em serviços.

No módulo inicial do curso teremos os componentes básicos e avançados da linguagem python como: variáveis, funções, estruturas de controles, loops, condicionais, classes, herança, polimorfismo, relacionamentos, acesso a banco de dados e outros.

Como intermediário começaremos a construção de aplicações web com django e flask, nesse momento criaremos telas e formulários para resgate de informações, tabelas para exibição de listas de dados e construção das classes de controle para gerenciamento da aplicação.

Na parte final focaremos nossos esforços na classes de aplicações REST para disponibilizar serviços em python que possam ser acessados por outras tecnologias. Os serviços serão criados usando o flask api e o django rest framework e as tecnologias de frontend que usaremos será o angular e o flutter mobile.

Pré-requisito: Conhecimentos em Lógica de Programação

Conteúdo do curso

  • Modulo 1 (30h) 
  • Configurando o Ambiente Para o Python
    • Baixando e instalando o python 3.7
    • Instalando dependências
    • Instalando pip
    • Instalando virtualenv
    • Instalando django
    • Baixando a ide Pycharm
      • Configurando a ide
      • Configurando o ambiente virtual
      • Instalando o django no ambiente
      • Criando um projeto django
      • Configurando o projeto
      • Iniciando o projeto
    • Python Básico e avançado
    • Tipos de dados
    • Tipagem dinâmica
    • Strings
    • Listas
    • Dicionários
    • Tuplas
    • Condicionais
    • Repetições
    • Funções
    • Compreensão de listas
    • *args e **kwargs
    • Blocos de Programação
      • blocos Condicionais
      • Blocos de Repetição
    • Orientação a objetos no python
    • Classes e objetos
    • Encapsulamento de dados
    • Construtores
    • Herança em object
    • Herança múltipla
    • Herança entre classes
    • Métodos Classe e Métodos estáticos
    • Relacionamento
    • Tratamento de Exceções
    • Try / except
    • Try / finnaly
    • Instrução raise
    • Instrução assert
    • Serialização
    • Arquivos
      • Geração de arquivos
      • Leitura e Gravação
      • Processamento de um arquivo
      • Permissões em arquivos

Acessando suddiretorios

  • Tratamento de datas
  • Imprimindo a hora
  • Imprimindo a data atual
  • Diferença entre duas datas
  • Separando a data

 

  • Django Framework
    • Introdução ao django
      • Criando um projeto
      • Configurando ambiente
      • Acessando a migração
      • Criando um app
    • Usando o ORM (mapeamento objeto relacional)
    • Mapeando uma classe pelo Model
    • Campos de um model
      • Autofield
      • CharField
      • DateField
      • DecimalField
      • EmailField
      • FileField
      • IntergerField
      • Campos relacionais
      • Foreign key
      • ManyToMany
      • OneToOne
    • Templates (html, views)
      • Criando Templates
      • Dividindo os templates
      • Template base, footer e head
      • Arquivos estáticos
        • Adicionando css
        • Bootstrap
        • Imagens
        • Templates (bootstrap)
      • Modificando componentes de tela com bootstrap 
  • Form
    • Criando um formulário html básico
    • GET e POST
    • Resgatando dados do form
    • Enviando dados para um formulário
    • Usando componentes html
    • Redirecionando de um form
    • Campos de um form
      • EmailField
      • Required
      • Label
      • Initial
      • DateField
      • Widget
      • Error_messages
      • Validators
      • Disable
    • Criando models com relacionamento
    • Enviando informação via ajax
    • PostgreSQL
      • Acessando o postgre
      • Via terminal
      • Via python e django
      • Configurando a persistência no manage.py
      • Relacionamento
      • Cardinalidade
      • Um para um
      • Um para muitos
      • Muito para muitos

 

  • URLS e HTTP
    • Configurando URLS
    • Enviando informações via urls
    • Recebendo informações via urls
    • Redirecionando
    • Criando urls (patterns)
    • Usando a classe url
    • HTTP Request, Response

 

  • Modulo 2 (20 h)

 

    • Flask Framework
      • Instalação e configuração do ambiente virtual e flask
        • Ambiente virtual
        • Pip
      • Templates (jinja2)
        • Renderizando templates
        • Variáveis
        • Estrutura
        • Bootstrap
        • Página de erros customizados
        • Links
        • Static files
        • Datas e localização
      • Web forms
        • CSRF token
        • HTML forms
        • Redirecionamento
        • Sessões
        • Mensagens
      • Banco de dados
        • SQL
        • Python Database framework
        • Gerenciamento do banco de dados com flask SQLAlchemy
        • Definição de modelos
        • Relacionamentos
        • Tabelas
        • Controle de migração do banco com flask
          • Criando repositório
          • Criando script
          • Atualizando o banco 
      • Email
        • Email suporte com flask
        • Enviando email
        • Integrando com a aplicação flask
      • Autenticação e permissão
        • Autenticação pelo flask
        • Password
        • Login
        • Rotas
        • Form
        • Autenticação de entrada
        • Autenticação de saída
        • Criação de registros
        • Criação e gerenciamento de token 

  

  • Modulo 3 APIS (28 h) 
    •  FLASK
  • Conceito
    • API
    • REST HTTP
    • URIs baseadas em recursos
    • Métodos HTTP e CRUD
  • API REST COM BANCO DE DADOS
    • Criação do banco de dados
    • Usando o SQLAlChemy
    • Usando POST
    • Usando GET
    • Usando PUT
    • Usando DELETE
    • Tratamento de erros nos métodos do resources
  • Adicionando autenticação com JWT
    • Classe de usuário
    • Implementando os métodos GET e DELETE
    • Implementando o cadastro
    • Implementando o login
    • Testando o login de usuário
  • Aplicando Filtros para consultas 
  • Recebendo dados via Path
  • Normalizando dados para consultas
  • Criando uma consulta parametrizada
  • Retornando de um dicionário
  • Configurando o envio de email
      • Criando o link para confirmação de email
      • Confirmação de usuário cadastrado
      • Testando confirmação
      • Cadastrando e configurando o mailgun
      • Formando o link de confirmação de email
      • Implementando a função de envio de email
      • Configurando os recursos para envio de email de confirmação
      • Testando o envio de email
      • Construindo uma página HTML de resposta 
  • Deploy
      • PythonAnyWhere
        • Criando conta
        • Configurando banco de dados
        • MySQL
        • Fazendo upload da aplicação
        • Ajustes finais do deploy
      • Heroku
        • Criando uma conta
        • Configurando o banco de dados
        • Instalando o cliente do heroku
        • Configurando credencias do banco
        • Configurando procfile, requeriments.txt e runtime.txt 
    • Django Rest Framework
  • Instalação e configuração do django rest framework
  • Authorization
    • Token
    • Basic
    • Custom 
  • Permissions
    • AlowAny
    • IsAuthenticated
  • Viewsets
    • GenericViewSet
    • ModelViewSet
  • Serializers
    • Serializer
    • ModelSerializer
  • Criação de rotas
  • Acessando a API via python client Requests
  • Acessando a API via linha de comando Httpie
  • Configurando o headers para acesso externo Django-cors-headers
    • Resgatando os dados
    • Acessando a API
  • Construção de uma API REST para acesso externo.
  • Acessando uma API REST em uma aplicação móbile.

 

  • Modulo 4 Consumindo APIS (12 h) 
    • Angular 
      • Acessando API com HTTP Request
      • Definindo rotas
      • Criando as classes de serviços
      • Criando componentes
      • Criando modais
      • Definindo os dados da aplicação
      • Criação do DTO
      • Definindo tela de cadastro
      • Definindo tela de lista
      • Cadastrando e listando objetos 
    • Flutter(mobile) 
      • Criando as classes de serviços
      • Construindo os widgets da tela de cadastro
      • Construindo os widgets da tela de listagem
      • Criando o objeto de representação dos dados
      • Acessando o serviço
      • Cadastrando um objeto na API
      • Retornando a lista de objetos do API