Introdução
1. O que é Django?
2. Escopo do Django
3. Arquitetura
4. Modelos/Visões/Modelos
5. perguntas
Framework Web
1. Software projetado para desenvolver aplicativos web
2. Eq: CakePHP, Spring, Django
3. Lado do Servidor: PHP/Java/Python/Ruby/…
4. Lado do Cliente: HTML/HTML5/CSS/JavaScript/Jquery/…
História
2003, Fundação de Software Django
20% de participação de mercado no vale do silício, segundo lugar após ruby
3. Desenvolvido com python
Introdução ao Framework Web
O que é um servidor, Requisição HTTP e Resposta HTTP?
O que é um framework web?
3. Desafios no desenvolvimento de aplicações web.
4. Visão geral do Django e instalação
Iniciando um Projeto com Django
1. Arquitetura do projeto Django
2. Understanding manage.py, Understanding settings.py, Understanding __init__.py and
wsgi.py, Entendendo urls.py e expressão regular em Python
Iniciando sua Primeira Aplicação Web
1. Arquitetura do projeto Django
2. Understanding admin.py, Understanding models.py, Understanding views.py,
3. Executando o servidor de desenvolvimento Django
4. Trabalhando com arquivos JavaScript e CSS.
Modelos
Desenvolvendo Modelo Padrão de Website
1. Tags de modelo
2. Filtros em templates
3. API de Modelo
Administração Django
1. Ativando a interface de administração
2. Criando super usuário para o site de Admin
3. Usando o site do Admin
4. Como usar o site de administração
5. O pacote django.contrib
Modelos
1. O Padrão de Desenvolvimento MVC
2. Definindo Modelos usando classes Python
3. Definindo campos de dados do modelo
4. Inicializando o modelo usando makemigrations
5. Executando a inicialização do modelo usando migrar
6. Registrando modelos em settings.py
7. Registrando modelos com o site de administração
Visualizações e URLconfs
1. Compreendendo a camada de visualização
2. Solicitando uma página da web via URL
3. Renderizando a página da web através da função de visualização
4. Renderizar HTTPResponse para templates
5. Compreendendo dados de contexto e tipo de dicionário Python
Formulários
1. Noções básicas de formulários
2. Métodos GET e POST
3. Validação de formulário
4. Renderizando formulários
5. ModelForm
Trabalhando com Arquivo Estático
1. Criando repositório estático
2. Carregando arquivos estáticos
3. Adicionando arquivo de imagem ao modelo
Modelos Avançados, Visões, Formulários e Administração
1. Entendendo os campos do modelo em profundidade, Função do banco de dados, Gerenciadores de modelo
2. Django ORM
3. Views baseadas em classes
4. Envio de arquivo
5. Tornando a administração mais robusta
Estendendo Modelos
Criando uma biblioteca de templates
Escrevendo filtro de template personalizado
Escrevendo tags de templates personalizadas
Registrando as tags
Definindo uma variável no contexto
Carregador de modelo de escrita
Testando no Django
1. Testando DjangoProject/App
2. Escrevendo um teste unitário
Implantando Aplicação Web
1. Implantando aplicação Django no GitHub
2. Implantando a aplicação Django em host final ou Amazon Web Services
HTML básico
Introdução
Partes em Documento HTML
Versão de Informação
Seção do Cabeçalho
Informação Meta
Favicons
Seção do Corpo
FORMULÁRIOS HTML
Âncoras, Imagens
HTML5 Avançado
Introdução
HISTÓRIA DO HTML5
Por que HTML5?
Novas Funcionalidades e Grupos
Estrutura do Documento HTML5
Poder do HTML5 e Recursos
Semântica e Elementos de Nível de Bloco
Formulários HTML5
Multimídia HTML5
Gráficos HTML5
CSS Básico
Introdução
Noções Básicas de CSS
Introdução ao CSS
Sintaxe CSS
Versões CSS
ID e Classe CSS
Estilização CSS
Estilizando Fundos
Estilizando Texto
Estilizando Fontes
Bordas CSS
CSS Avançado
Introdução
Módulos CSS3
Seletores
Modelo de Caixa
Fundos e Bordas
Efeitos de Texto
Transformações 2D/3D
Animações Básicas e Avançadas
Layout de Múltiplas Colunas
Interface do Usuário
JavaScript Básico
O que é Script? Tipos de Scripts?
Introdução ao JavaScript
Comentários e Tipos de Comentários
Caixas Popup
Variáveis e Operadores
Funções e Eventos JavaScript
Instruções Condicionais
Declaração de Controle de Loop
JavaScript Avançado
Tipos de Erros
Tratamento de Exceções
Objetos Java Script
Objetos do Navegador
Validações em JS
Python Básico
Introdução ao Python
O que é Python?
História do Python
Versões do Python
Características do Python
Como instalar o Python
Instale o Python com IDEs Diferentes
Criando Seu Primeiro Programa em Python
Imprimindo na Tela
Lendo Entrada do Teclado
Usando o Prompt de Comando e a GUI ou IDE
Modos Diferentes em Python
Execute o Script
Modo Interativo
Modo de Script
Comentários em Python
Trabalhando com Python em Unix/Linux/Windows/Mac/Android
Novos IDEs para Python
IDE PyCharm
Como Trabalhar no PyCharm
Componentes do PyCharm
Processo de depuração no PyCharm
SublimeText IDE
O que é PIP?
Variáveis em Python
O que é uma variável?
Variáveis em Python
Constantes em Python
Tipos de Dados Padrão
Operadores e Operandos
Trocar variáveis
Conversão de Tipo
Manipulação de Strings
Instruções Condicionais em Python
Como usar "condição if" em estruturas condicionais
declaração if (Decisões Unilaterais)
declaração if .. else (Decisões em duas vias)
Como usar a 'condição else'
declaração if ..elif .. else (Multicaminho)
Quando a "condição else" não funciona
Como usar a condição “elif”
Como executar uma instrução condicional com código mínimo
Declaração IF Aninhada
LAÇOS EM PYTHON
Como usar o 'While Loop'
Como usar o "For Loop"
Como usar o loop For para um conjunto de outras coisas além de números
Instruções de interrupção em Loop For
Instrução continue em Loop For
Função Enumerate para Loop For
Listas em Python
Listas são mutáveis
Chegando às Listas
Listar índices
Percorrendo uma lista
Operações de lista
Fatias de lista
Listar métodos
Mapear, filtrar e reduzir
TUPLA Python
Vantagens da Tupla sobre a Lista
Empacotando e Desempacotando
Comparando tuplas
Criando tupla aninhada
Usando tuplas como chaves em dicionários
Excluindo Tuplas
Fatiamento de Tupla
Teste de Membridade de Tupla
Conjuntos em Python
Como criar um conjunto?
Iteração sobre Conjuntos
Métodos de Conjunto em Python
Operações de Conjunto em Python
União de conjuntos
Funções embutidas com Conjunto
Frozenset em Python
Dicionário Python
Como criar um dicionário?
Hashing em Python?
Métodos de dicionário em Python
Copiando dicionário
Atualizando o dicionário
Excluir chaves do dicionário
Método items() do dicionário
Classificando o Dicionário
Funções integradas do dicionário Python
Funções Python
O que é uma Função?
Como definir e chamar uma função em Python
Tipos de Funções
Significado da Indentação (Espaço) em Python
Como a função retorna um valor?
Tipos de Argumentos em Funções
Argumentos Padrão
Argumentos Não Padrão
Argumentos de Palavra-Chave
Argumentos não-chave
Argumentos Arbitrários
Regras para definir uma função em Python
Várias Formas de Argumentos de Função
Escopo e Tempo de Vida das Variáveis
Funções Anônimas / Funções Lambda
funções map(), filter(), reduce()
O que é uma Docstring?
Python Avançado
Tratamento de Exceções em Python
Erros em Python
Erros Comuns de Tempo de Execução em PYTHON
Terminação anormal
Cadeia de Importância da Exceção
Tratamento de Exceções
Tente … Exceção
Tente ..Except .. else
Tente ... finalmente
Classe e Objetos em Python
Introdução à Programação Orientada a Objetos
Sistema de Programação Orientada a Objetos
Princípios OOPS
Conceito básico de Objetos e Classes
Modificadores de Acesso
Como definir classes em Python
Variável de instância em python
O que é herança?
Como funciona a Herança?
Expressões Regulares em Python
O que é Expressão Regular?
Sintaxe de Expressão Regular
Compreendendo Expressões Regulares
Padrões de Expressão Regular
Personagens literais
Bootstrap (Poderoso Framework Front-End Móvel)
O que é Design Web Responsivo?
Recursos de Tipografia
Tabelas, Botões, Listas suspensas, Barras de navegação Bootstrap
Imagens Bootstrap
Utilitários responsivos do Bootstrap
Ícones Glyph do Bootstrap
Sistema de Grade do Bootstrap
O que é uma grade?
O que é o Sistema de Grade do Bootstrap?
ESTRATÉGIA MOBILE FIRST
Funcionamento do Sistema de Grades do Bootstrap
Consultas de Mídia
Opções de Grade
Redefinições de colunas responsivas
Deslocar colunas
Colunas aninhadas
Framework Web Django
O que é uma Estrutura
Introdução ao Django
Django – Filosofias de Design
História do Django
Por que Django e Recursos
Configuração do ambiente
Servidor Web
Padrão MVC
Arquitetura MVC vs Arquitetura MVT
Django MVC – Padrão MVT
Introdução ao Django
Criando o primeiro Projeto
Integrando o Projeto ao sublime text
A Estrutura do Projeto
Executando o servidor
Resolvendo os problemas e Migrações
Configuração do Banco de Dados
Configurando Seu Projeto
Criar um aplicativo
O que o Django segue
Estrutura do framework Django
Camada de Modelo
O que são modelos
Campos do modelo
Conjuntos de consultas
Django
Iniciando a Interface de Administração
Migrações
Camada de Visualizações
Visão Simples
Visão básica (exibindo olá mundo)
Visões funcionais, visões baseadas em classe
Django – Mapeamento de URL
Organizando Seus URLs
Papel das URLs no Django
URLs funcionando
Formulários
Enviando Parâmetros para Visualizações
Camada de modelos
A Função Render
Linguagem de Template Django (DTL)
Papel da camada de template no Django
Filtros
Comentário Tag, Uso de templates
Estendendo o template base
Django – Modelos
Criando um Modelo
Manipulação de Dados (CRUD)
Vinculando Modelos
Django – Redirecionamento de Página
Django – Enviando E-mails
Enviando um E-mail Simples
Enviando Vários E-mails com send_mass_mail
Enviando E-mail em HTML
Enviando E-mail HTML com Anexos
Django – Processamento de Formulários
Usando Formulário em uma Visualização
Uso de formulários
Operações Crud usando formulários
Formulários crocantes no Django
Django – Upload de Arquivos
Fazendo upload de uma imagem
Configuração do Django – Apache
Django – Manipulação de Cookies
Django – Sessões
Django – Comentários
Administração Django
Criando Super Usuário
Usando admin no Django
Adicionando modelos ao admin
Adicionando objetos de modelo usando o admin
Exibindo no cmd usando querysets
Arquivos estáticos
Carregando arquivos CSS nos modelos
Carregando arquivos js em templates
Fazendo upload de imagem usando modelos
Autenticação de usuário
Projetos e Sites de Amostra
Site de notícias (BLOGs Fóruns)
Desenhando um Gráfico usando valores do Banco de Dados
1. Origem do Python
2. Introdução ao Python e o que é um Python
3. O que podemos fazer usando Python
4. Recursos e versões do Python
5. Diferentes linguagens usadas para desenvolver Python
6. Modo interativo e Modo de script
7. Intérprete vs Compilador
8. Linguagens de Scripting vs Linguagens de Programação
9. Razões para aprender ou trabalhar com Python
10. Indentação em Python
11. Comentários e Citações
12. Identificadores e Palavras-chave em Python
13. Variáveis
a. Atribuindo valores a variáveis de maneiras diferentes
b. Print(), type() e id()
14. Lendo dados do usuário
15. Trabalhando com a função de entrada
16. Tipos de dados Python
17. Conversões de tipo e eval()
Tarefa - 1
18. Introdução às Estruturas de Dados
19. Estrutura de Dados de Cadeia
a. Diferentes maneiras de criar uma string
b. Indexação de strings e fatiamento de strings
c. concatenação de strings e multiplicação de strings
d. desempacotamento de strings
e. dividindo os dados em diferentes partes conforme o usuário
f. capitalize() e tittle() e split()
g. del, count(), find(), swapcase()
h. reverse(), replace() e sort()
i. string imutável
20. Estrutura de Dados em Lista:
a. maneiras diferentes de criar uma lista
b. criando e trabalhando com listas homogêneas
c. criando e trabalhando com listas heterogêneas
d. indexação de listas e fatiamento de listas
e. concatenação de listas e multiplicação de listas
f. gerando lista usando a função range
g. desempacotamento de lista e lista mutável
h. criando listas aninhadas e indexando listas aninhadas
i. funções range() e xrange() do python
j. python inserir, anexar e estender
remover
lista python em ordem crescente e decrescente
m. convertendo a estrutura de dados de string dada em lista
n. convertendo a estrutura de dados da lista dada em string
o. criando lista a partir de valores do usuário
21. Estrutura de Dados Tupla
a. criando uma tupla de diferentes maneiras
b. criando e trabalhando com tuplas homogêneas
c. criando e trabalhando com tuplas heterogêneas
d. indexação de tuplas e fatiamento de tuplas
e. concatenação de tuplas e multiplicação de tuplas
f. desempacotamento de tuplas e tuplas imutáveis
g. todos, qualquer, len e sort
h. del palavra-chave
tupla python em ordem ascendente e descendente
j. criando e trabalhando com tuplas aninhadas
k. Conversões:
i. convertendo a estrutura de dados de string dada em tupla
ii. convertendo a estrutura de dados da lista dada em tupla
iii. convertendo a estrutura de dados tupla dada em string
iv. convertendo a estrutura de dados de tupla dada em lista
1. vantagens da tupla sobre a estrutura de dados lista
22. Estrutura de Dados de Conjunto
a. Criando e trabalhando com a estrutura de dados de conjunto de diferentes maneiras
b. Conjuntos normais e conjuntos congelados
c. Definir um conjunto mutável e desempacotar a estrutura de dados do conjunto
d. Criando e trabalhando com conjuntos com elementos homogêneos
e. Criando e trabalhando com conjuntos com elementos heterogêneos
f. Criando conjuntos vazios e modificando os conjuntos vazios
g. Por que conjuntos não suportam indexação e fatiamento
h. Adicionar, remover e descartar os elementos da estrutura de dados de conjunto
é subconjunto, é superconjunto e é disjunto
j. União, interseção e diferença
k. Intersection_update e diferença_update
l. diferença_simétrica e diferença_simétrica_atualiza
m. Conversões
i. Convertendo a estrutura de dados de string dada em conjunto
ii. Convertendo a estrutura de dados da lista dada em conjunto
iii. Convertendo a estrutura de dados de tupla dada em conjunto
iv. Convertendo a estrutura de dados do conjunto dado em string
v. Convertendo a estrutura de dados do conjunto dado em lista
vi. Convertendo a estrutura de dados do conjunto dado em tupla
23. Estrutura de Dados de Dicionário
a. Criando e trabalhando com a estrutura de dados de dicionário de diferentes maneiras
b. Criando um dicionário vazio e trabalhando com um dicionário vazio
c. Trabalhando com pares de chave e valor
d. Dicionário mutável e desempacotamento de dicionário
e. Adicionando e deletando pares de chave e valor da estrutura de dados existente
f. Diferença entre as operações pop e popitem
g. Extraindo apenas chaves da estrutura de dados existente
h. Extraindo apenas valores da estrutura de dados existente
i. Métodos clear e pop
j. Método del palavra-chave e pop
k. Criando um dicionário a partir de outra estrutura de dados existente, como uma tupla
l. Perguntas Frequentes sobre todas as Estruturas de Dados
Tarefa - 2
24. Operadores
a. Operadores aritméticos
b. Operadores lógicos
c. Operadores de atribuição
d. Operadores de comparação
e. Operadores bit a bit
f. Operadores de identidade
g. Operadores de associação
25. Funções e Argumentos em Python
a. Definindo funções e trabalhando com funções
b. Usando a palavra-chave def para funções
c. Funções chamadas e definição de funções e chamando funções
d. Argumentos formais e argumentos reais
e. Trabalhando com argumentos nomeados e argumentos com palavras-chave
f. Argumentos padrão e argumentos posicionais
g. Trabalhando com argumentos padrão e argumentos normais
h. argumentos *args e **kwargs
i. Expansão de argumentos
j. Argumentos de comprimento variável
k. Usando estruturas de dados para definições de funções
l. Funções aninhadas
m. Dir() e funções Format()
n. Função enumerate
o. Perguntas Frequentes sobre funções e Argumentos
26. Funções Lambda
a. Criando funções usando a palavra-chave lambda
b. Diferença entre funções def e lambda
c. Trabalhando com funções de filtro
d. Trabalhando com funções de mapa
e. Trabalhando com funções de redução
27. Instruções de Controle
a. Declaração If simples
b. Declaração if else
c. Declaração Elif
d. Declaração if aninhada
e. Teste de associação para string
f. Teste de associação para tupla
g. Teste de associação para lista
h. Teste de pertencimento para conjunto
i. Teste de associação para dicionário
j. Perguntas frequentes sobre declarações de controle
Loopings
a. Laço for
b. Laço while
c. Instruções pass, continue e break
d. Iterando sobre lista, tupla, conjunto e dicionário
29. Conceitos Avançados em Estruturas de Dados
a. Compreensão de lista
b. Compreensão de dicionário
c. Estruturas de dados aninhadas
Atribuição – 3
Python Avançado
30. Manipulação de Arquivos
a. Criando um arquivo em um diretório
b. Abra o arquivo no python
c. Diferentes maneiras de abrir o arquivo em Python
d. Escrevendo para o arquivo
e. Anexando os dados ao arquivo existente
f. Modos de operação
g. Métodos de busca e relato
h. Readline e readlines
i. Trabalhando com palavras e caracteres no arquivo
j. Cenários em tempo real sobre arquivos
k. Perguntas baseadas em entrevistas sobre o arquivo
31. Conceitos de OOPS
a. Classe e objeto
b. Variáveis de classe e variáveis de instância
c. Construtor
d. Ocultação de dados
e. Sobrecarga e sobrescrita de métodos
f. Abstração
g. Herança
h. Polimorfismo
i. Encapsulamento
32. Módulos
a. O que é um módulo e qual é o propósito dos módulos
b. Diferentes tipos de módulos
c. Diferentes maneiras de importar módulos
d. Módulos padrão e módulos de usuário
e. De … importar *
f. Criando seus próprios módulos
g. Usando módulos em outros módulos
h. Trabalhando com alguns módulos padrão
i. MÚLTIPLOS DE MATH, DATETIME, CALENDÁRIO, SYS, OS
33. Tratamento de Exceções em Python
a. O que é uma exceção
b. Tratamento de exceções
bloco try e except
d. Manipulando múltiplas exceções usando múltiplos excepts
e. Tratando várias exceções usando um único except
f. Trabalhando com padrão, exceto
g. Tratando exceções com blocos else e finally
h. Usando assert para tratar exceções
34. Registro em Python
a. O que é registro e qual é o propósito do registro
b. Criando um arquivo de log
c. Armazenando eventos de tempo de execução em arquivo de log
d. Diferentes modos de armazenar os dados no arquivo de registro
e. DEBUG, INFO, WARNING, ERROR, CRITICAL
35. Iteradores, geradores e decoradores
a. Trabalhando com a palavra-chave yield
b. Diferença entre rendimento e retorno
c. Decorando uma função com outra função
36. Testes Unitários em Python
a. Importando o módulo unittest
b. Chamando todos os casos de teste de unidade
c. Chamando caso de teste de unidade específico
d. assertEqual, assertTrue e assertFalse
37. Expressões Regulares
a. Noções básicas de expressões regulares
b. Função Findall
c. Função de busca
d. Métodos de correspondência
i. Grupo
ii. Grupos
e. Correspondência e busca
f. Compilar e subfunções
g. Verificações de números móveis
h. Verificação de IDs de e-mail
i. Coleta de dados na web
38. Argumentos da Linha de Comando
a. Lendo argumentos da linha de comando
b. Usando argumentos de linha de comando
39. Trabalhando com Conexão de Banco de Dados
a. Conectando ao banco de dados a partir de uma aplicação Python
b. Criando conexão com o banco de dados a partir da aplicação Python
c. Criando banco de dados e tabelas a partir de aplicações Python para o banco de dados
d. Buscando dados e atualizando dados nas entidades.
e. Usando cursor para executar comando SQL na aplicação Python
f. Usando os métodos Fetchall e Fetchone
Trabalho - 4
Conceitos Avançados em Python
40. Introdução ao framework Django
a. Introdução ao framework Django
b. Criando um projeto e aplicação
c. URLs, modelos, arquivos de templates e views,
d. Introdução ao desenvolvimento web
e. Introdução ao Pycharm
41. Numpy
a. Principais vantagens dos arrays Numpy em relação às listas Python
b. Criando arrays normais
c. Criando arrays multidimensionais
d. Criando arrays do tipo float, arrays do tipo complexo
e. Criando arrays com marcadores
f. Reformulando arrays existentes
g. Criando arrays linspace
42. Scipy
a. Introdução ao Scipy