SlideShare une entreprise Scribd logo
1  sur  45
Data: 04 de dezembro de 2014
Marcos Thomaz da Silva
Conhecendo
Django
• Criado por Jacob Kaplan Moss e Adrian Holovaty
• Lançado em 2003
• Django Reinhardt
• Atualmente na versão 1.7.1
Mas o que é Django???
O que é Django?
• Framework Web de alto nível
“Um framework (ou arcabouço) em desenvolvimento
de software, é uma abstração que une códigos comuns
entre vários projetos de software provendo uma
funcionalidade genérica”.
Fayad e Schmidt
“Frameworks são projetados com a intenção de facilitar o
desenvolvimento de software, habilitando designers e
programadores a gastarem mais tempo determinando as
exigências do software do que com detalhes de baixo nível
do sistema”
O que o Django NÃO é?
• Não é um CMS
• Não é uma biblioteca
• Não é um “programa”
Características do Django
• Desenvolvido em Python
– Criada por Guido van Rossun
– Lançada em 1991
– Linguagem de Alto Nível
– Interpretada e Interativa
– Gera Bytecodes
– Produtividade e Manutenção de Código
– Multiplataforma (nativa Linux)
– Multiparadigma (procedural, OO, funcional)
– Open Source
– Monty Python Flying Circus
• Python, quem usa?
Características do Django
• Multiplataforma
O que mais
• Focado no desenvolvimento ágil
• Conceito DRY – Don’t Repeat Yourself
• Plugabilidade
• MTV / MVC
• Automatização de Tarefas
• Foco no Negócio
• Open Source
O que preciso saber...
• Pequenas Aplicações:
– Conjunto HTML / CSS / Javascript
– Servidor Web / Aplicações
– Formulários e Validação
– Persistência de Dados
• Médias e Grandes Aplicações:
– Engine de templates
– Mapeador de URL’s
– Controle de Sessões
– Autenticação
– Testes e Metodologias Ágeis
– Cache
– Ajax
E agora?
Será que esse tal Django atende a
todos estes requisitos?
Recursos do .
Recursos do Django
• Arquivo Centralizado de Configurações
– Ativação de Ambiente de Depuração
– “Plugins” vinculados
– Conexão com Banco de Dados
– Módulos Intermediários
– Idioma
Recursos do Django
• Servidor web embutido;
• Módulos para Deploy nos principais servidores
Web
– mod_python
– WSGI /mod_wsgi
– FastCGI
– SCGI - Simple Common Gateway Interface
– AJP - Apache JServ Protocol / Tomcat
Recursos do Django – Servidores Web/
Aplicações
Recursos do Django
• Módulo completo de formulários
– Geração automática baseada em modelos
– Validação centralizada
– Integração com banco de dados
Recursos do Django
• ORM (Mapeamento Objeto Relacional)
– Geração de Banco de Dados
– Engenharia Reversa de Banco
– Migrations
– Diversos Bancos de Dados (PostgreSQL, MySQL,
Oracle, SQLite, DB2, SQLServer, Firebird/Interbase)
– Conexões Multibancos
Recursos do Django - ORM
Recursos do Django
• Sistema completo de Templates
– Sistema Próprio de Templates
– Integração com Outros Motores de Templates
– Separação de Regras de Negócio e Templates
– Tags, Filtros e Funções Especiais
– Possibilidade de Extensão de Filtros e Funções
Recursos do Django – Templates
Recursos do Django
• Mapeador de URL’s (URL Dispatcher)
– URL’s Limpas e Elegantes
– Definição de URL’s
– Utilização de Expressões Regulares
– Mapeamento de URL’s por Módulo
Recursos do Django – URL’s
Recursos do Django
• Gerenciamento Completo de Sessões
– Em arquivo
– Em bancos de dados relacional
– Em banco de dados especial (redis/memcached)
– Controle de expiração de sessões
• Ao fechar o navegador
• Nunca
• Data específica
Recursos do Django
• Módulo completo de Autenticação
– Módulo embutido de autenticação
– Possibilidade de Extensão de Modelo de Usuários
– Integração dom Facebook, Twitter, Google+
– Bases LDAP / Active Directory
– Recuperação de Senhas
Recursos do Django
• Módulos de Testes e Metodologias Ágeis
– TDD – Test Driven Development
– BDD – Behavior Driven Development
Recursos do Django
• Módulos Ajax para aplicações Ricas
• Editores WYSIWYG
• Web Components
• API’s Rest e SOAP
Recursos do Django
• Cache
– Em memória
– Em arquivos
– Em bancos de dados (Relacionais e NoSQL)
– Por Requisição
– Por Consulta
– Por Página
Recursos do Django
• Interface Administrativa - Admin
– Aplicação Plugável
– Interface e estruturas criadas (quase)
automaticamente
– Possibilidade de Personalização
– Pequenos sistemas e backends em minutos
– Excelente produtividade
– Motivo de Confusão: Django = Programa
Recursos do Django - Admin
Recursos do Django - Admin
Recursos do Django - Admin
E mais
• Criação de Log de Aplicações
• Internacionalização
• Criação Automática de Sitemaps
• Integração com Redes Sociais
• Herança de Modelos
• Geoprocessamento (GeoDjango)
• Recursos de Performance
• Envio de Emails
E ainda mais
• Geração de Feed de Notícias (RSS/Atom)
• Paginação
• Módulo de Mensagens
• Serializações (XML, JSON, YAML)
• Arquivos Estáticos
• Signals
• Generic Relations
• Comunidade Brasileira Participativa
• Muito Material na Internet
• Excelente Documentação
Não contavam com minha
astúcia!
Lista de Sites Úteis Relacionados
• Site Oficial da Linguagem Python: https://www.python.org/
• Site Oficial do Framework Django: https://www.djangoproject.com/
• Lista de Sites Feitos usando Django: https://www.djangosites.org/
• Site com lista de diversas Aplicações Plugáves (Plugins) para o Django:
• https://www.djangopackages.com/packages/p/django-pluggables/
• Github – Projetos e Aplicações Plugáveis Django:
https://github.com/search?q=django
• Site de Depoimentos do Porque Usar Django:
https://ericstk.wordpress.com/2014/03/17/por-que-escolher-django/
• Grupo Python Acre no Facebook (Ainda Iniciando):
https://www.facebook.com/groups/1504095973195084/
Estrutura das Requisições no Django
Pequeno Trecho de Código
• Modelo (Banco de Dados)
Pequeno Trecho de Código
• Views (camada de Controle / Controller)
Pequeno Trecho de Código
• Template (Camada de Visualização) – base.html
Pequeno Trecho de Código
• Template (Camada de Visualização) –
mensagem.html
Pequeno Trecho de Código
• Template (Camada de Visualização) – Resultado
Pequeno Trecho de Código
• Template (Camada de Visualização) – Resultado
O que fazer com Django?
• Sites
• Aplicações Web
• Serviços Web
• API’s
• Globo é um dos cases de sucesso :
– 45 milhões de acesso/dia
– 32 mil acessos / minuto
– 10 milhões de visitantes únicos / dia
Muito Obrigado
marcosthomazs@gmail.com

Contenu connexe

Tendances (20)

Aula 1 - Introdução ao Mobile
Aula 1 - Introdução ao MobileAula 1 - Introdução ao Mobile
Aula 1 - Introdução ao Mobile
 
Main method in java
Main method in javaMain method in java
Main method in java
 
Curso de Python e Django
Curso de Python e DjangoCurso de Python e Django
Curso de Python e Django
 
Lecture 7 arrays
Lecture   7 arraysLecture   7 arrays
Lecture 7 arrays
 
Uml
UmlUml
Uml
 
Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
 
8 02
8 028 02
8 02
 
Apresentação HTML e CSS
Apresentação HTML e CSSApresentação HTML e CSS
Apresentação HTML e CSS
 
OOP and FP
OOP and FPOOP and FP
OOP and FP
 
Introduction To Python
Introduction To PythonIntroduction To Python
Introduction To Python
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
PHP
PHPPHP
PHP
 
Introduction to the Python
Introduction to the PythonIntroduction to the Python
Introduction to the Python
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
Aula 01 - JavaScript: Introdução
Aula 01 - JavaScript: IntroduçãoAula 01 - JavaScript: Introdução
Aula 01 - JavaScript: Introdução
 
POO - 16 - Polimorfismo
POO - 16 - PolimorfismoPOO - 16 - Polimorfismo
POO - 16 - Polimorfismo
 
Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1Interfaces Gráficas em Java Parte 1
Interfaces Gráficas em Java Parte 1
 
Curso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoCurso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP Básico
 
Introduction to the Dart language
Introduction to the Dart languageIntroduction to the Dart language
Introduction to the Dart language
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 

Similaire à Conhecendo o Django

Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Flávio Lisboa
 
Python mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetPython mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetMarcos Petry
 
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web  - Marcos Daniel PetryPython mudando o modo de desenvolver para a web  - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web - Marcos Daniel PetryTchelinux
 
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAOficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAnitaibezerra
 
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User InterfaceDesenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User InterfaceDomingos Teruel
 
Administração de portais
Administração de portaisAdministração de portais
Administração de portaisFelipe Perin
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a WebLuiz Cláudio Silva
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKRyan Padilha
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonIgor Sobreira
 
Curso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – FrameworksCurso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – FrameworksJonata Weber
 
F R A M E W O R K D J A N G O
F R A M E W O R K  D J A N G OF R A M E W O R K  D J A N G O
F R A M E W O R K D J A N G Ofabio.thomaz
 
Justificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAI
Justificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAIJustificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAI
Justificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAIJeanne Louize Emygdio
 
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações WebFrameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações WebJairo Junior
 
Alfresco ECM e Gestão Eletrônica de Documentos Open Source
Alfresco ECM e Gestão Eletrônica de Documentos Open SourceAlfresco ECM e Gestão Eletrônica de Documentos Open Source
Alfresco ECM e Gestão Eletrônica de Documentos Open SourceAmbiente Livre
 

Similaire à Conhecendo o Django (20)

Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011
 
Python mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetPython mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internet
 
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web  - Marcos Daniel PetryPython mudando o modo de desenvolver para a web  - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
 
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAOficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
 
Web tools pt-br
Web tools pt-brWeb tools pt-br
Web tools pt-br
 
Django
DjangoDjango
Django
 
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User InterfaceDesenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
Desenvovelndo Aplicações com PHP, AJAX e Y!UI Yahoo User Interface
 
Web Tools Pt Br
Web Tools Pt BrWeb Tools Pt Br
Web Tools Pt Br
 
Administração de portais
Administração de portaisAdministração de portais
Administração de portais
 
Técnicas de Programação para a Web
Técnicas de Programação para a WebTécnicas de Programação para a Web
Técnicas de Programação para a Web
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
 
Curso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – FrameworksCurso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – Frameworks
 
F R A M E W O R K D J A N G O
F R A M E W O R K  D J A N G OF R A M E W O R K  D J A N G O
F R A M E W O R K D J A N G O
 
Com vocês, Django!
Com vocês, Django!Com vocês, Django!
Com vocês, Django!
 
Curso HTML 5 - Aula Inicial
Curso HTML 5 - Aula InicialCurso HTML 5 - Aula Inicial
Curso HTML 5 - Aula Inicial
 
Justificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAI
Justificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAIJustificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAI
Justificativas para adoção de um Sistema de Gerenciamento de Conteúdos na FAI
 
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações WebFrameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
 
Alfresco ECM e Gestão Eletrônica de Documentos Open Source
Alfresco ECM e Gestão Eletrônica de Documentos Open SourceAlfresco ECM e Gestão Eletrônica de Documentos Open Source
Alfresco ECM e Gestão Eletrônica de Documentos Open Source
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 

Plus de Marcos Thomaz

Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...
Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...
Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...Marcos Thomaz
 
Hydros - Apresentação para Investidores
Hydros - Apresentação para InvestidoresHydros - Apresentação para Investidores
Hydros - Apresentação para InvestidoresMarcos Thomaz
 
Minimax e corte alfa beta
Minimax e corte alfa betaMinimax e corte alfa beta
Minimax e corte alfa betaMarcos Thomaz
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesMarcos Thomaz
 
Curso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosCurso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosMarcos Thomaz
 
MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento Marcos Thomaz
 
Criação de log de ações através do banco
Criação de log de ações através do bancoCriação de log de ações através do banco
Criação de log de ações através do bancoMarcos Thomaz
 
Criação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQLCriação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQLMarcos Thomaz
 

Plus de Marcos Thomaz (10)

Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...
Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...
Hibridização de Métodos Exatos e Heurísticos para a Minimização do Atraso Pon...
 
Hydros - Apresentação para Investidores
Hydros - Apresentação para InvestidoresHydros - Apresentação para Investidores
Hydros - Apresentação para Investidores
 
Minimax e corte alfa beta
Minimax e corte alfa betaMinimax e corte alfa beta
Minimax e corte alfa beta
 
Palestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas Aplicações
 
Curso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosCurso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos Comandos
 
MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento
 
Postgre sql +python
Postgre sql +pythonPostgre sql +python
Postgre sql +python
 
Criação de log de ações através do banco
Criação de log de ações através do bancoCriação de log de ações através do banco
Criação de log de ações através do banco
 
Criação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQLCriação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQL
 
Postgresql +python
Postgresql +pythonPostgresql +python
Postgresql +python
 

Conhecendo o Django

  • 1. Data: 04 de dezembro de 2014 Marcos Thomaz da Silva Conhecendo
  • 2. Django • Criado por Jacob Kaplan Moss e Adrian Holovaty • Lançado em 2003 • Django Reinhardt • Atualmente na versão 1.7.1
  • 3. Mas o que é Django???
  • 4. O que é Django? • Framework Web de alto nível “Um framework (ou arcabouço) em desenvolvimento de software, é uma abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica”. Fayad e Schmidt “Frameworks são projetados com a intenção de facilitar o desenvolvimento de software, habilitando designers e programadores a gastarem mais tempo determinando as exigências do software do que com detalhes de baixo nível do sistema”
  • 5. O que o Django NÃO é? • Não é um CMS • Não é uma biblioteca • Não é um “programa”
  • 6. Características do Django • Desenvolvido em Python – Criada por Guido van Rossun – Lançada em 1991 – Linguagem de Alto Nível – Interpretada e Interativa – Gera Bytecodes – Produtividade e Manutenção de Código – Multiplataforma (nativa Linux) – Multiparadigma (procedural, OO, funcional) – Open Source – Monty Python Flying Circus
  • 9. O que mais • Focado no desenvolvimento ágil • Conceito DRY – Don’t Repeat Yourself • Plugabilidade • MTV / MVC • Automatização de Tarefas • Foco no Negócio • Open Source
  • 10. O que preciso saber... • Pequenas Aplicações: – Conjunto HTML / CSS / Javascript – Servidor Web / Aplicações – Formulários e Validação – Persistência de Dados
  • 11. • Médias e Grandes Aplicações: – Engine de templates – Mapeador de URL’s – Controle de Sessões – Autenticação – Testes e Metodologias Ágeis – Cache – Ajax
  • 12. E agora? Será que esse tal Django atende a todos estes requisitos?
  • 14. Recursos do Django • Arquivo Centralizado de Configurações – Ativação de Ambiente de Depuração – “Plugins” vinculados – Conexão com Banco de Dados – Módulos Intermediários – Idioma
  • 15. Recursos do Django • Servidor web embutido; • Módulos para Deploy nos principais servidores Web – mod_python – WSGI /mod_wsgi – FastCGI – SCGI - Simple Common Gateway Interface – AJP - Apache JServ Protocol / Tomcat
  • 16. Recursos do Django – Servidores Web/ Aplicações
  • 17. Recursos do Django • Módulo completo de formulários – Geração automática baseada em modelos – Validação centralizada – Integração com banco de dados
  • 18. Recursos do Django • ORM (Mapeamento Objeto Relacional) – Geração de Banco de Dados – Engenharia Reversa de Banco – Migrations – Diversos Bancos de Dados (PostgreSQL, MySQL, Oracle, SQLite, DB2, SQLServer, Firebird/Interbase) – Conexões Multibancos
  • 20. Recursos do Django • Sistema completo de Templates – Sistema Próprio de Templates – Integração com Outros Motores de Templates – Separação de Regras de Negócio e Templates – Tags, Filtros e Funções Especiais – Possibilidade de Extensão de Filtros e Funções
  • 21. Recursos do Django – Templates
  • 22. Recursos do Django • Mapeador de URL’s (URL Dispatcher) – URL’s Limpas e Elegantes – Definição de URL’s – Utilização de Expressões Regulares – Mapeamento de URL’s por Módulo
  • 23. Recursos do Django – URL’s
  • 24. Recursos do Django • Gerenciamento Completo de Sessões – Em arquivo – Em bancos de dados relacional – Em banco de dados especial (redis/memcached) – Controle de expiração de sessões • Ao fechar o navegador • Nunca • Data específica
  • 25. Recursos do Django • Módulo completo de Autenticação – Módulo embutido de autenticação – Possibilidade de Extensão de Modelo de Usuários – Integração dom Facebook, Twitter, Google+ – Bases LDAP / Active Directory – Recuperação de Senhas
  • 26. Recursos do Django • Módulos de Testes e Metodologias Ágeis – TDD – Test Driven Development – BDD – Behavior Driven Development
  • 27. Recursos do Django • Módulos Ajax para aplicações Ricas • Editores WYSIWYG • Web Components • API’s Rest e SOAP
  • 28. Recursos do Django • Cache – Em memória – Em arquivos – Em bancos de dados (Relacionais e NoSQL) – Por Requisição – Por Consulta – Por Página
  • 29. Recursos do Django • Interface Administrativa - Admin – Aplicação Plugável – Interface e estruturas criadas (quase) automaticamente – Possibilidade de Personalização – Pequenos sistemas e backends em minutos – Excelente produtividade – Motivo de Confusão: Django = Programa
  • 33. E mais • Criação de Log de Aplicações • Internacionalização • Criação Automática de Sitemaps • Integração com Redes Sociais • Herança de Modelos • Geoprocessamento (GeoDjango) • Recursos de Performance • Envio de Emails
  • 34. E ainda mais • Geração de Feed de Notícias (RSS/Atom) • Paginação • Módulo de Mensagens • Serializações (XML, JSON, YAML) • Arquivos Estáticos • Signals • Generic Relations • Comunidade Brasileira Participativa • Muito Material na Internet • Excelente Documentação
  • 35. Não contavam com minha astúcia!
  • 36. Lista de Sites Úteis Relacionados • Site Oficial da Linguagem Python: https://www.python.org/ • Site Oficial do Framework Django: https://www.djangoproject.com/ • Lista de Sites Feitos usando Django: https://www.djangosites.org/ • Site com lista de diversas Aplicações Plugáves (Plugins) para o Django: • https://www.djangopackages.com/packages/p/django-pluggables/ • Github – Projetos e Aplicações Plugáveis Django: https://github.com/search?q=django • Site de Depoimentos do Porque Usar Django: https://ericstk.wordpress.com/2014/03/17/por-que-escolher-django/ • Grupo Python Acre no Facebook (Ainda Iniciando): https://www.facebook.com/groups/1504095973195084/
  • 38. Pequeno Trecho de Código • Modelo (Banco de Dados)
  • 39. Pequeno Trecho de Código • Views (camada de Controle / Controller)
  • 40. Pequeno Trecho de Código • Template (Camada de Visualização) – base.html
  • 41. Pequeno Trecho de Código • Template (Camada de Visualização) – mensagem.html
  • 42. Pequeno Trecho de Código • Template (Camada de Visualização) – Resultado
  • 43. Pequeno Trecho de Código • Template (Camada de Visualização) – Resultado
  • 44. O que fazer com Django? • Sites • Aplicações Web • Serviços Web • API’s • Globo é um dos cases de sucesso : – 45 milhões de acesso/dia – 32 mil acessos / minuto – 10 milhões de visitantes únicos / dia