django: desenvolvendo aplicações web de maneira simples e rápida!

Download Django: desenvolvendo aplicações web de maneira simples e rápida!

Post on 11-Jun-2015

3.599 views

Category:

Technology

18 download

Embed Size (px)

DESCRIPTION

Minicurso ministrado na III Jornada Acadmica de Informtica - JAINF

TRANSCRIPT

  • 1. Django Desenvolvendo aplicaes web de maneira simples e rpida! Felipe B. Queiroz felipe.buarque@gmail.com III Jornada Acadmica de Informtica - JAINF Novembro de 2010 1 / 42

2. Quem sou eu? Felipe Buarque (wally) Mestrando pela UFPE Entusiasta de software livre Entusiasta da linguagem Python Blog: www.felipewally.com.br Twitter: @felipe_wally 2 / 42 3. Quem sou eu? Felipe Buarque (wally) Mestrando pela UFPE Entusiasta de software livre Entusiasta da linguagem Python Blog: www.felipewally.com.br Twitter: @felipe_wally 2 / 42 4. Quem sou eu? Felipe Buarque (wally) Mestrando pela UFPE Entusiasta de software livre Entusiasta da linguagem Python Blog: www.felipewally.com.br Twitter: @felipe_wally 2 / 42 5. Quem sou eu? Felipe Buarque (wally) Mestrando pela UFPE Entusiasta de software livre Entusiasta da linguagem Python Blog: www.felipewally.com.br Twitter: @felipe_wally 2 / 42 6. Quem sou eu? Felipe Buarque (wally) Mestrando pela UFPE Entusiasta de software livre Entusiasta da linguagem Python Blog: www.felipewally.com.br Twitter: @felipe_wally 2 / 42 7. Quem sou eu? Felipe Buarque (wally) Mestrando pela UFPE Entusiasta de software livre Entusiasta da linguagem Python Blog: www.felipewally.com.br Twitter: @felipe_wally 2 / 42 8. Algum conhece Python? 3 / 42 9. Algum NO conhece Python? 4 / 42 10. Um pouco de histria... Open Source script language Guido Van Rossum (BDFL) - 1991 Monty Pythons Flying Circus Ensino de programao Simplicidade e fcil aprendizado import this 5 / 42 11. Um pouco de histria... Open Source script language Guido Van Rossum (BDFL) - 1991 Monty Pythons Flying Circus Ensino de programao Simplicidade e fcil aprendizado import this 5 / 42 12. Um pouco de histria... Open Source script language Guido Van Rossum (BDFL) - 1991 Monty Pythons Flying Circus Ensino de programao Simplicidade e fcil aprendizado import this 5 / 42 13. Um pouco de histria... Open Source script language Guido Van Rossum (BDFL) - 1991 Monty Pythons Flying Circus Ensino de programao Simplicidade e fcil aprendizado import this 5 / 42 14. Um pouco de histria... Open Source script language Guido Van Rossum (BDFL) - 1991 Monty Pythons Flying Circus Ensino de programao Simplicidade e fcil aprendizado import this 5 / 42 15. Um pouco de histria... Open Source script language Guido Van Rossum (BDFL) - 1991 Monty Pythons Flying Circus Ensino de programao Simplicidade e fcil aprendizado import this 5 / 42 16. Caractersticas Interpretada (bytecode + VM) Multiplataforma Tipagem forte e dinmica OO + procedural + funcional Extensa biblioteca padro Sintaxe elegante, simples e clara Blocos de cdigo so delimitados por identao Interpretador interativo: Shell 6 / 42 17. Caractersticas Interpretada (bytecode + VM) Multiplataforma Tipagem forte e dinmica OO + procedural + funcional Extensa biblioteca padro Sintaxe elegante, simples e clara Blocos de cdigo so delimitados por identao Interpretador interativo: Shell 6 / 42 18. Caractersticas Interpretada (bytecode + VM) Multiplataforma Tipagem forte e dinmica OO + procedural + funcional Extensa biblioteca padro Sintaxe elegante, simples e clara Blocos de cdigo so delimitados por identao Interpretador interativo: Shell 6 / 42 19. Caractersticas Interpretada (bytecode + VM) Multiplataforma Tipagem forte e dinmica OO + procedural + funcional Extensa biblioteca padro Sintaxe elegante, simples e clara Blocos de cdigo so delimitados por identao Interpretador interativo: Shell 6 / 42 20. Caractersticas Interpretada (bytecode + VM) Multiplataforma Tipagem forte e dinmica OO + procedural + funcional Extensa biblioteca padro Sintaxe elegante, simples e clara Blocos de cdigo so delimitados por identao Interpretador interativo: Shell 6 / 42 21. Caractersticas Interpretada (bytecode + VM) Multiplataforma Tipagem forte e dinmica OO + procedural + funcional Extensa biblioteca padro Sintaxe elegante, simples e clara Blocos de cdigo so delimitados por identao Interpretador interativo: Shell 6 / 42 22. Caractersticas Interpretada (bytecode + VM) Multiplataforma Tipagem forte e dinmica OO + procedural + funcional Extensa biblioteca padro Sintaxe elegante, simples e clara Blocos de cdigo so delimitados por identao Interpretador interativo: Shell 6 / 42 23. Caractersticas Interpretada (bytecode + VM) Multiplataforma Tipagem forte e dinmica OO + procedural + funcional Extensa biblioteca padro Sintaxe elegante, simples e clara Blocos de cdigo so delimitados por identao Interpretador interativo: Shell 6 / 42 24. Desenvolvimento Web: Zope, Webware, TurboGears, Django ... Banco de dados: DB-API, Oracle, MySQL, PostgreSQL, SQLite, MongoDB ... GUI: Tkinter, wxPython, PyQT, PyGTK, PyFLTK ... Rede: Sockets, ftp, http, smtp, Twisted ... Webservices: XML-RPC, SOAP ... Outros: Threads, Unicode, XML ... 7 / 42 25. Desenvolvimento Web: Zope, Webware, TurboGears, Django ... Banco de dados: DB-API, Oracle, MySQL, PostgreSQL, SQLite, MongoDB ... GUI: Tkinter, wxPython, PyQT, PyGTK, PyFLTK ... Rede: Sockets, ftp, http, smtp, Twisted ... Webservices: XML-RPC, SOAP ... Outros: Threads, Unicode, XML ... 7 / 42 26. Desenvolvimento Web: Zope, Webware, TurboGears, Django ... Banco de dados: DB-API, Oracle, MySQL, PostgreSQL, SQLite, MongoDB ... GUI: Tkinter, wxPython, PyQT, PyGTK, PyFLTK ... Rede: Sockets, ftp, http, smtp, Twisted ... Webservices: XML-RPC, SOAP ... Outros: Threads, Unicode, XML ... 7 / 42 27. Desenvolvimento Web: Zope, Webware, TurboGears, Django ... Banco de dados: DB-API, Oracle, MySQL, PostgreSQL, SQLite, MongoDB ... GUI: Tkinter, wxPython, PyQT, PyGTK, PyFLTK ... Rede: Sockets, ftp, http, smtp, Twisted ... Webservices: XML-RPC, SOAP ... Outros: Threads, Unicode, XML ... 7 / 42 28. Desenvolvimento Web: Zope, Webware, TurboGears, Django ... Banco de dados: DB-API, Oracle, MySQL, PostgreSQL, SQLite, MongoDB ... GUI: Tkinter, wxPython, PyQT, PyGTK, PyFLTK ... Rede: Sockets, ftp, http, smtp, Twisted ... Webservices: XML-RPC, SOAP ... Outros: Threads, Unicode, XML ... 7 / 42 29. Desenvolvimento Web: Zope, Webware, TurboGears, Django ... Banco de dados: DB-API, Oracle, MySQL, PostgreSQL, SQLite, MongoDB ... GUI: Tkinter, wxPython, PyQT, PyGTK, PyFLTK ... Rede: Sockets, ftp, http, smtp, Twisted ... Webservices: XML-RPC, SOAP ... Outros: Threads, Unicode, XML ... 7 / 42 30. Onde roda? 8 / 42 31. Frameworks web 9 / 42 32. Welcome to the Django! 10 / 42 33. O que Django?! Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. (djangoproject.com) ...and is not a CMS system. (wally) 11 / 42 34. Origens... 12 / 42 35. Origens... 13 / 42 36. Origens... Criado por Adrian Holovaty - PyCon 2005 Criado para ser um gerenciador de notcias Licena BSD 1 Mantido pela Django Software Foundation desde 2008 1 http://en.wikipedia.org/wiki/BSD_licenses 14 / 42 37. Origens... Criado por Adrian Holovaty - PyCon 2005 Criado para ser um gerenciador de notcias Licena BSD 1 Mantido pela Django Software Foundation desde 2008 1 http://en.wikipedia.org/wiki/BSD_licenses 14 / 42 38. Origens... Criado por Adrian Holovaty - PyCon 2005 Criado para ser um gerenciador de notcias Licena BSD 1 Mantido pela Django Software Foundation desde 2008 1 http://en.wikipedia.org/wiki/BSD_licenses 14 / 42 39. Origens... Criado por Adrian Holovaty - PyCon 2005 Criado para ser um gerenciador de notcias Licena BSD 1 Mantido pela Django Software Foundation desde 2008 1 http://en.wikipedia.org/wiki/BSD_licenses 14 / 42 40. djangoproject.com 15 / 42 41. Princpios (... ou losoas) DRY (Dont Repeat Yourself) Baixo acoplamento Plugabilidade e reusabilidade Escrever menos cdigo possvel Desenvolvimento rpido! 16 / 42 42. Princpios (... ou losoas) DRY (Dont Repeat Yourself) Baixo acoplamento Plugabilidade e reusabilidade Escrever menos cdigo possvel Desenvolvimento rpido! 16 / 42 43. Princpios (... ou losoas) DRY (Dont Repeat Yourself) Baixo acoplamento Plugabilidade e reusabilidade Escrever menos cdigo possvel Desenvolvimento rpido! 16 / 42 44. Princpios (... ou losoas) DRY (Dont Repeat Yourself) Baixo acoplamento Plugabilidade e reusabilidade Escrever menos cdigo possvel Desenvolvimento rpido! 16 / 42 45. Princpios (... ou losoas) DRY (Dont Repeat Yourself) Baixo acoplamento Plugabilidade e reusabilidade Escrever menos cdigo possvel Desenvolvimento rpido! 16 / 42 46. Caractersticas Convention over conguration Mapeamento Objeto-Relacional (ORM) Interface administrativa automtica (CRUD) Tratamento de formulrios URLs elegantes Sistema de templates Sistema de cache Internacionalizao (i18n) 17 / 42 47. Caractersticas Convention over conguration Mapeamento Objeto-Relacional (ORM) Interface administrativa automtica (CRUD) Tratamento de formulrios URLs elegantes Sistema de templates Sistema de cache Internacionalizao (i18n) 17 / 42 48. Caractersticas Convention over conguration Mapeamento Objeto-Relacional (ORM) Interface administrativa automtica (CRUD) Tratamento de formulrios URLs elegantes Sistema de templates Sistema de cache Internacionalizao (i18n) 17 / 42 49. Caractersticas Convention over conguration Mapeamento Objeto-Relacional (ORM) Interface administrativa automtica (CRUD) Tratamento de formulrios URLs elegantes Sistema de templates Sistema de cache Internacionalizao (i18n) 17 / 42 50. Caractersticas Convention over conguration Mapeamento Objeto-Relacional (ORM) Interface administrativa automtica (CRUD) Tratamento de formulrios URLs elegantes Sistema de templates Sistema de cache Internacionalizao (i18n) 17 / 42 51. Caractersticas Convention over conguration Mapeamento Objeto-Relacional (ORM) Interface administrativa automtica (CRUD) Tratamento de formulrios URLs elegantes Sistema de templates Sistema de cache Internacionalizao (i18n) 17 / 42 52. Caractersticas Convention over conguration Mapeamento Objeto-Relacio