Próximas Turmas
- Frequência: Segunda e Quarta
- Horário: 18:00/21:30h
- Término Previsto: 18/03/2026
- Modalidade: Presencial/online
- Professor: Sergio Luiz
12*345,00 no cartão
- Frequência: Sábado
- Horário: 13:00/17:00h
- Término Previsto: 09/05/2026
- Modalidade: Presencial/online
- Professor: Sergio Luiz
12*345,00 no cartão
O que você vai aprender nesse curso
Objetivo do Curso
Capacitar o participante a desenvolver aplicações web profissionais utilizando Python com os frameworks Flask e Django. O curso apresenta desde os fundamentos da linguagem até a construção de aplicações completas, explorando conceitos de rotas, templates, ORM, autenticação, segurança, integração com bancos de dados, testes e boas práticas. Ao final, o aluno será capaz de criar, organizar e manter sistemas web modernos, aplicando tanto a flexibilidade do Flask quanto a robustez estrutural do Django em projetos reais.
Versão Atualizada — Python 3.11 + Django 4.2 LTS + Flask 3.x
Conteúdo do curso
Módulo 1 — Ambiente de Desenvolvimento (4 horas)
1.1 Instalação e Configuração
- Download e instalação do Python 3.11
- Configurando variáveis de ambiente
- Verificação de versão (CLI)
- Instalando e atualizando pip
- Instalando e configurando virtualenv / venv
1.2 IDEs e Ferramentas
- Download e instalação do PyCharm Community
- Configuração inicial da IDE
- Configurando interpretador Python 3.11
- Alternativa: VS Code com extensão de Python
1.3 Frameworks e Dependências
- Instalando Django 4.2 LTS
- Instalando Flask 3.x (opcional)
- Instalando dependências via pip install
- Gerenciamento de requirements.txt
Módulo 2 — Fundamentos da Linguagem Python (7 horas)
2.1 Tipos e Estruturas de Dados
- Tipagem dinâmica
- Tipos primitivos: int, float, str, bool
- Listas
- Tuplas
- Dicionários
- Sets
2.2 Estruturas de Controle
- Condicionais
- Repetições
- Operadores lógicos
- Compreensões de listas (List Comprehensions)
2.3 Funções e Modularização
- Definindo funções
- Parâmetros e argumentos
- Retorno
- Escopo
- Modules
- Imports
2.4 Manipulação de Arquivos
- Abrindo e criando arquivos
- Leitura e escrita
- Processamento linha a linha
- Diretórios e navegação
- Uso de pathlib (boa prática moderna)
2.5 Datas e Horários
- Obter data e hora atuais
- Diferença entre datas
- Formatação
- datetime e timedelta
Módulo 3 — Tratamento de Exceções e Depuração (3 horas)
3.1 Tratamento de Erros
- Estrutura try / except
- try / except / finally
- Lançamento de erros com raise
- Uso de assert
3.2 Depuração
- Mensagens de log
- Uso básico do debugger da IDE
- Lidando com erros comuns do Python
Módulo 4 — Programação Orientada a Objetos em Python (10 horas)
4.1 Estrutura da POO
- Classes e objetos
- Construtores (__init__)
- Atributos e métodos
- Encapsulamento
4.2 Herança
- Herança simples
- Herança múltipla
- Reutilização de código
- Polimorfismo
4.3 Recursos Avançados
- @property
- Classes abstratas (ABC)
- Composição e agregação
- Dataclasses (opcional e moderno)
Módulo 5 — Models, ORM e PostgreSQL (Django) (4 horas)
5.1 Models
- Estrutura do models.py
- Salvando e migrando modelos
Principais campos
- AutoField, CharField, IntegerField
- DecimalField, DateField, EmailField
- FileField, ImageField
Campos relacionais
- ForeignKey
- OneToOneField
- ManyToManyField
5.2 ORM
Operações CRUD
- Criando registros
- Atualizando
- Excluindo
Consultas
- filter, exclude, get
- Ordenações (order_by)
- Lookups (icontains, gte, lte)
QuerySets avançados
- values, values_list
- annotate, aggregate
- select_related, prefetch_related
- Paginação
5.3 PostgreSQL
Instalação e uso
- Instalação local
- Acesso via terminal
- Criando DB e usuários
Conexão com Django
- Configuração no settings.py
- Executando migrações
- Testando conexão
Modelagem e Relacionamentos
- Um-para-um
- Um-para-muitos
- Muitos-para-muitos
Módulo 6 — Django Básico (Views, Templates e Rotas) (6 horas)
6.1 Estrutura do Projeto
- manage.py
- Pastas do projeto
- Criando e registrando apps
- settings.py, urls.py, wsgi.py
6.2 Views
- Views baseadas em função
- Views baseadas em classe
- Renderização de templates
- Retorno de dados e status HTTP
6.3 Templates
- Estrutura HTML
- Sistema de templates do Django
- Template base: header, footer, blocks
- Loader de templates
6.4 Arquivos Estáticos
- CSS
- JS
- Imagens
- Configurando STATIC_URL e STATICFILES_DIRS
- Integrando Bootstrap
Módulo 7 — Formulários, Validações e AJAX (4 horas)
7.1 Forms HTML
- Estrutura do
- GET e POST
- Resgatando dados
- Exibindo mensagens
- Redirecionamentos
7.2 Django Forms
Campos
- EmailField, DateField, CharField
- required, label, initial
- widget
- disabled
- error_messages
Validações
- Validações automáticas
- Métodos clean()
- Validação por campo
7.3 AJAX e Django
- Enviando requisições AJAX
- Recebendo dados no backend
- JSONResponse
- Atualização dinâmica da página
- Atualizando listas e tabelas sem refresh
Módulo 8 — URLs, HTTP e Arquitetura Web
(4 horas)
8.1 URLs
- Criando rotas
- Path converters
- Envio de parâmetros
- Redirecionamentos
- Organização de URLs por app
8.2 HTTP
- Métodos: GET, POST, PUT, DELETE
- Request, Response
- Status codes
- Cabeçalhos HTTP
Módulo 9 — Desenvolvimento Web com Flask (10 horas)
(Sem deploy, conforme solicitado)
9.1 Introdução ao Flask
- O que é o Flask e quando utilizá-lo
• Comparação Flask × Django
• Instalação do Flask 3.x
• Estrutura básica de um projeto Flask
• Executando a aplicação com flask run
9.2 Roteamento no Flask
- Criando rotas
• Métodos HTTP (GET, POST)
• Parâmetros de rota
• Retorno de respostas
• Redirecionamentos
• Uso de Blueprints para organização modular
9.3 Templates no Flask
- Estrutura de diretórios
• Uso do Jinja2 (extends, blocks, include)
• Criando template base (base.html)
• Pastas: templates/e static/
• Integração com CSS, JS e Bootstrap
9.4 Formulários e Requisições
- Captura de dados com request
• Manipulação de formulários via GET/POST
• Exibição de mensagens
• Validações básicas
• Uso opcional do Flask-WTF (validadores, CSRF)
9.5 Conexão com Banco de Dados
- Introdução ao SQLAlchemy
• Criando modelos
• Operações CRUD
• Relacionamentos básicos
• Migrações opcionais com Flask-Migrate
9.6 JSON, APIs e AJAX
- Criando rotas que retornam JSON
• Estrutura de respostas API
• Requisições AJAX (fetch/axios)
• Atualização dinâmica de conteúdo
• Status HTTP e boas práticas