SlideShare uma empresa Scribd logo
1 de 80
Baixar para ler offline
Django
Desenvolvimento web com Python e
Igor Sobreira
www.igorsobreira.com
Globo.com
Licença
Essa apresentação está som a licença Creative
Commons
Você pode copiar, distribuir e modificar...
...com a condição de citar a original nos créditos
http://creativecommons.org/licenses/by/2.0/br/
quem sou eu?
Igor Sobreira
Desenvolvedor web na Globo.com
Trabalho com Python e Django a ~ 4.5 anos
Python
Por que é uma boa opção para web?
fácil de aprender
comunidade ativa
ótima documentação
sintaxe simples e clara
multiplataforma
múltiplos paradigmas
bibliotecas para tudo... tudo!
tipagem dinâmica e forte
várias implementações
metaprogramação
PEP 8
Preocupação com legibilidade de código
Padrão de identação: 4 espaços
Nomenclatura de variáveis
Uso de docstrings
http://www.python.org/dev/peps/pep-0008/
Por que usar um framework?
O que precisamos?
roteador de urls
HTML, JSON, XML
formulários
persistência de dados
segurança ( SQL injection, CSRF, XSS )
cookies/sessão e autenticação de usuários
frameworks de teste
começar do zero
usar componentes separados e montar
nosso framework
usar um framework full-stack
Temos algumas opções...
“...you start by not trying to build a
framework, but by building an
application...
As you develop further applications each
one further refines the framework area of
the code”
http://martinfowler.com/bliki/HarvestedFramework.html
Martin Fowler
Quero montar o meu framework
Pylons
CherryPy
Werkzeug
SQLAlchemy
MongoEngine Jinja2
sugestões...
Existe muita coisa no ecossistema... você vai
encontrar o que precisa
Tornado
Storm
Flask
Quero um framework completo
web2py Plone
sugestões...
Django!
TurboGears
Django
Criado em 2005
Lawrence, Kansas
Lawrence Journal-
World
Licença BSD
DRY
Don’t Repeat Yourself
Projeto == Várias aplicações
south
django-registration
django-pagination
django-debug-toolbar
django-mailer
django.contrib.admin
django.contrib.comments
django.contrib.sitemaps
http://djangopackages.com/
Aplicações
Coloque no path (PYTHONPATH)
Coloque no INSTALLED_APPS no settings.py
Fácil de começar
$ pip install django
$ django-admin.py startproject encurtador
$ cd encurtador
$ python manage.py runserver
Ótima documentação
Banco de Dados
ORM
Mapeamento Objeto Relacional
Padrão Active Record
Classe Tabela
Cria tabelas a partir das classes Python
python manage.py syncdb
Consegue criar classes a partir de bancos legados
python manage.py inspectdb
models.py
SQL do model anterior
$ python manage.py syncdb
>>> palestra = Palestra.objects.get(
... palestrante__nome='Igor Sobreira')
>>> Palestra.objects.all()
[<Palestra: Desenvolvimento web com Django>]
>>> palestra.titulo
u'Desenvolvimento web com Django'
Herança múltipla
Consultas lazy
Facilmente extensível
Tem como passar SQL manualmente
Suporte a múltiplos bancos
Suporte a bancos geográficos
Alterações nos dados e na modelagem
Migrações
Não existe suporte nativo
Mas existem ótimas aplicações externas
south
NoSQL
Bancos de dados não relacionais
Ainda não existe suporte nativo
Já foi iniciado no GSoC desse ano um backend para
MongoDB
Existem ótimas aplicações externas
MongoEngine
No Google App Engine usa-se o BigTable
Porém... muitos módulos ainda dependem do ORM
Admin, ModelAdmin...
URLs e Views
Requisição “^programação/$”
urls.py
def programacao(request):
horarios = Horario.objects.all()
return render_to_response(
‘programacao.html’,
{‘horarios’: horarios})
views.py
models.py
Resposta
Urls aceitando vários formatos
View renderizando vários formatos
Admin
Interface administrativa automática
admin.py
Linguagem pra criação de strings
Templates
<!doctype html>
<html>
<head>
	 <title>
	 	 {% block title %}Palestrantes{% endblock %}
</title>
</head>
<body>
	 <h1> Palestrantes </h1>
	 <ul>
	 {% for palestrante in lista_palestrantes %}
	 	 <li> {{ palestrante.nome }} </li>
	 {% endfor %}
	 </ul>
</body>
</html>
Banco de dados geográficos
PostgreSQL / PostGIS
Mysql
Oracle
Spatialite
Manipulação de mapas no Admin
GeoDjango
Cache
Evite processamento desnecessário
O que cachear?
O site inteiro
Basta adicionar middlewares no settings.py
Views específicas
Fragmentos de template
Objetos específicos
Onde cachear?
Memcached (mais recomendado)
Banco de dados
Arquivos
Memória local
É possível criar backends customizados
ex.: Redis
Formulários
Validação
Internacionalização (i18n) e localização (l10n)
Serialização de objetos (json, xml e yaml)
Envio de e-mails
Autenticação
Upload de arquivos
Muito mais...
Jython, implementação de Python em Java
Rode django no seu container web favorito
Glassfish, Tomcat, JBoss
Use qualquer biblioteca no ecossistema Java
Django roda na JVM
Testes
Mantenha a qualidade do seu código
TDD - Test Driven Development
Faça os testes antes da funcionalidade
Ajuda a escrever menos código
Ajuda a deixar o código mais modular
Garante que o que foi feito funciona
“Código não testado é código bugado”
Testes são muito importantes
Django tem um bom suporte
test runner embutido
test client: uma maneira rápida de fazer requisições
HTTP
testes de envio de emails
cria/remove banco de teste
fixtures
Teste tudo!
Não sabe o que testar? Teste tudo!
Na dúvida se vale a pena testar? Teste tudo!
Não sabe como testar?
leia a documentação
leia código de projetos bem testados
Testes isolados
Não acessam banco de dados nem rede
Não chamam métodos externos
Usam mocks e stubs
Faça testes unitários
Use com moderação
Em linguagem natural
Pyccuracy (http://pyccuracy.org)
Lettuce (http://lettuce.it/)
Ou em código python
Selenium
Splinter (http://github.com/cobrateam/splinter/)
Faça testes com browser
Ambiente de
desenvolvimento
Isole seu projetos com ambientes virtuais
virtualenv
Ambiente python isolado
Cada projeto usa versões diferentes de pacotes python
coloque cada um deles em um virtualenv
Use pip para instalar pacotes
virtualenvwrapper
comandos úteis para gerenciar virtualenvs
[igor.sobreira@globo-mac:envs]$ virtualenv projeto_env --no-site-packages
New python executable in projeto_env/bin/python
Installing setuptools............done.
[igor.sobreira@globo-mac:envs]$ cd projeto_env/
[igor.sobreira@globo-mac:projeto_env]$ source bin/activate
(projeto_env)[igor.sobreira@globo-mac:projeto_env]$ ls
bin include lib
Deployment
Como colocar tudo isso no ar?
Python + Web
WSGIWeb Server Gateway Interface
PEP 333
http://www.python.org/dev/peps/pep-0333/
def simple_app(environ, start_response):
status = '200 OK'
response_headers = [
('Content-type', 'text/plain')
]
start_response(status, response_headers)
return ['Hello world!n']
variáveis de
ambiente
inicia a resposta informando
status e headers
retorna um
iterável
PEP 3333
Versão atualizada da PEP 333
Melhorias para suportar Python 3.x
Questões de strings e unicode que mudaram no
Python 3
Compatível com a PEP 333 (Python 2.x)
http://www.python.org/dev/peps/pep-3333/
PEP 444
http://www.python.org/dev/peps/pep-0444/
def simple_app(environ):
status = b'200 OK'
response_headers = [
(b'Content-type', b'text/plain')
]
body = [b'Hello world!n']
return body, status, headers
variáveis de
ambiente
retorna o corpo, status e cabeçalhos
Ainda não está definido o futuro do WSGI
Mas a tendência é a PEP 3333
E num futuro um pouco mais distante o Web3
Acompanhe as discussões
http://mail.python.org/mailman/listinfo/web-sig
Servidores web
mod_python
mod_fastcgi
mod_wsgi
Apache Nginx
fastcgi
uWsgi
gunicorn
Mais opções: cherokee, lighttpd, etc
Consumo de memória: Nginx X Apache
http://python.org.br
http://djangobrasil.org
#python-br
#django-br
http://groups.google.com/group/django-brasil
http://groups.yahoo.com/group/python-brasil/
Comunidade
#cobrateam
irc.freenode.net
http://cobrateam.info/
https://github.com/cobrateam
Obrigado
Dúvidas?
www.igorsobreira.com
igor@igorsobreira.com
Globo.com

Mais conteúdo relacionado

Mais procurados

Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nívelIgor Sobreira
 
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
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem PythonLuciano Ramalho
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonAlvaro Oliveira
 
Python, a arma secreta do Google
Python, a arma secreta do GooglePython, a arma secreta do Google
Python, a arma secreta do GoogleLuciano Ramalho
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.comricobl
 
Matando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonMatando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonOsvaldo Santana Neto
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantesrichardsonlima
 
Desenvolvendo mvp com python
Desenvolvendo mvp com pythonDesenvolvendo mvp com python
Desenvolvendo mvp com pythonBruno Rocha
 
Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Felipe Queiroz
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alvesGrupython Ufla
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e TkCarlos Campani
 
Arduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoArduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoLuciano Ramalho
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na práticaRafael Cassau
 
Introdução à linguagem de programação Python
Introdução à linguagem de programação PythonIntrodução à linguagem de programação Python
Introdução à linguagem de programação PythonCarlos Schults
 
Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Marcel Caraciolo
 
Python Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem PythonPython Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem Pythonantonio sérgio nogueira
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsHelio Colombe
 

Mais procurados (19)

Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
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
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a Python
 
Python, a arma secreta do Google
Python, a arma secreta do GooglePython, a arma secreta do Google
Python, a arma secreta do Google
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.com
 
Matando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonMatando o Java e Mostrando o Python
Matando o Java e Mostrando o Python
 
Python para iniciantes
Python para iniciantesPython para iniciantes
Python para iniciantes
 
Desenvolvendo mvp com python
Desenvolvendo mvp com pythonDesenvolvendo mvp com python
Desenvolvendo mvp com python
 
Conhecendo o Django
Conhecendo o DjangoConhecendo o Django
Conhecendo o Django
 
Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
 
Introdução à Programação Python e Tk
Introdução à Programação Python e TkIntrodução à Programação Python e Tk
Introdução à Programação Python e Tk
 
Arduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoArduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojo
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na prática
 
Introdução à linguagem de programação Python
Introdução à linguagem de programação PythonIntrodução à linguagem de programação Python
Introdução à linguagem de programação Python
 
Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?Conhencendo Python e por que ela importa?
Conhencendo Python e por que ela importa?
 
Python Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem PythonPython Módulo Básico - Introdução a linguagem Python
Python Módulo Básico - Introdução a linguagem Python
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - Português
 

Destaque

Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3Marcel Caraciolo
 
Desenvolvimento web simples com Python e DJango
Desenvolvimento web simples com Python e DJangoDesenvolvimento web simples com Python e DJango
Desenvolvimento web simples com Python e DJangoRafael Nunes
 
SUAP: Caso de Sucesso utilizando Python e Django no Serviço Público Federal
SUAP: Caso de Sucesso utilizando Python e Django no Serviço Público FederalSUAP: Caso de Sucesso utilizando Python e Django no Serviço Público Federal
SUAP: Caso de Sucesso utilizando Python e Django no Serviço Público FederalAllyson Barros
 
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?Humberto Diógenes
 
Desenvolvendo APPs Com Angular.JS + Cordova
Desenvolvendo APPs Com Angular.JS �+ CordovaDesenvolvendo APPs Com Angular.JS �+ Cordova
Desenvolvendo APPs Com Angular.JS + CordovaGustavo Costa
 
Postgresql + Python = Power!
Postgresql + Python = Power!Postgresql + Python = Power!
Postgresql + Python = Power!Juliano Atanazio
 
Workshop • UX design •
Workshop • UX design •  Workshop • UX design •
Workshop • UX design • Suzi Sarmento
 
Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009Marco Mendes
 

Destaque (17)

Curso de Python e Django
Curso de Python e DjangoCurso de Python e Django
Curso de Python e Django
 
Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3Oficina Python: Hackeando a Web com Python 3
Oficina Python: Hackeando a Web com Python 3
 
Django - Lightning Talk - We Web Conf
Django - Lightning Talk - We Web ConfDjango - Lightning Talk - We Web Conf
Django - Lightning Talk - We Web Conf
 
Introdução ao Python com Django
Introdução ao Python com DjangoIntrodução ao Python com Django
Introdução ao Python com Django
 
Desenvolvimento web simples com Python e DJango
Desenvolvimento web simples com Python e DJangoDesenvolvimento web simples com Python e DJango
Desenvolvimento web simples com Python e DJango
 
SUAP: Caso de Sucesso utilizando Python e Django no Serviço Público Federal
SUAP: Caso de Sucesso utilizando Python e Django no Serviço Público FederalSUAP: Caso de Sucesso utilizando Python e Django no Serviço Público Federal
SUAP: Caso de Sucesso utilizando Python e Django no Serviço Público Federal
 
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
WSGI: a resposta para a questão definitiva sobre Python, a web e tudo mais?
 
Python 06
Python 06Python 06
Python 06
 
Canivete suíço do Python
Canivete suíço do PythonCanivete suíço do Python
Canivete suíço do Python
 
Desenvolvendo APPs Com Angular.JS + Cordova
Desenvolvendo APPs Com Angular.JS �+ CordovaDesenvolvendo APPs Com Angular.JS �+ Cordova
Desenvolvendo APPs Com Angular.JS + Cordova
 
Angular js
Angular jsAngular js
Angular js
 
Python 01
Python 01Python 01
Python 01
 
Postgresql + Python = Power!
Postgresql + Python = Power!Postgresql + Python = Power!
Postgresql + Python = Power!
 
Introducao python 2010
Introducao python 2010Introducao python 2010
Introducao python 2010
 
Workshop • UX design •
Workshop • UX design •  Workshop • UX design •
Workshop • UX design •
 
Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009Por que Python? - PythonBrasil[5] - 2009
Por que Python? - PythonBrasil[5] - 2009
 
Porque Python?
Porque Python?Porque Python?
Porque Python?
 

Semelhante a Django framework web com Python

Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B Rguestb9d145
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilElias Nogueira
 
Inovando na plataforma Java
Inovando na plataforma JavaInovando na plataforma Java
Inovando na plataforma JavaEteg
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com PythonLuiz Aldabalde
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com PythonPythOnRio
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end seleniumQualister
 
Django - A sua cápsula de soluções web em python
Django - A sua cápsula de soluções web em pythonDjango - A sua cápsula de soluções web em python
Django - A sua cápsula de soluções web em pythonPaula Grangeiro
 
Junho 2016 - Django - A sua cápsula de soluções web em python
Junho 2016 - Django - A sua cápsula de soluções web em pythonJunho 2016 - Django - A sua cápsula de soluções web em python
Junho 2016 - Django - A sua cápsula de soluções web em pythonGrupo de Testes Carioca
 
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
 
Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webMiguel Galves
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de SeleniumAutotic
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorAllyson Barros
 
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação WebDjango Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Webantonio sérgio nogueira
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Luís Cobucci
 

Semelhante a Django framework web com Python (20)

Web Tools Pt B R
Web Tools Pt  B RWeb Tools Pt  B R
Web Tools Pt B R
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira Ágil
 
Django
DjangoDjango
Django
 
Inovando na plataforma Java
Inovando na plataforma JavaInovando na plataforma Java
Inovando na plataforma Java
 
Inovando na Plataforma Java
Inovando na Plataforma JavaInovando na Plataforma Java
Inovando na Plataforma Java
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
FJN 2011
FJN 2011FJN 2011
FJN 2011
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com Python
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com Python
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end selenium
 
Oficina de Django
Oficina de DjangoOficina de Django
Oficina de Django
 
Django - A sua cápsula de soluções web em python
Django - A sua cápsula de soluções web em pythonDjango - A sua cápsula de soluções web em python
Django - A sua cápsula de soluções web em python
 
Junho 2016 - Django - A sua cápsula de soluções web em python
Junho 2016 - Django - A sua cápsula de soluções web em pythonJunho 2016 - Django - A sua cápsula de soluções web em python
Junho 2016 - Django - A sua cápsula de soluções web em python
 
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
 
Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento web
 
Curso Básico de Selenium
Curso Básico de SeleniumCurso Básico de Selenium
Curso Básico de Selenium
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
 
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação WebDjango Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
Django Módulo Básico Parte I - Desenvolvimento de uma aplicação Web
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011
 
Programando php com excelência
Programando php com excelênciaProgramando php com excelência
Programando php com excelência
 

Django framework web com Python