python na web - apresentando o web2py

69
PYTHON NA WEB APRESENTANDO O WEB2PY

Upload: matheus-cardoso

Post on 27-Jun-2015

330 views

Category:

Software


6 download

DESCRIPTION

Apresentação realizada no primeiro Python Day Feira de Santana, realizado em Feira de Santana, Bahia, pelo grupo Práticas de Software. Esta apresentação, essencialmente, apresenta o web2py à comunidade de Feira de Santana e região, mostrando e explicando algumas de suas incríveis características e recursos.

TRANSCRIPT

  • 1. PYTHON NA WEB APRESENTANDO O WEB2PY

2. QUEM VOS FALA? Profeta em tempo integral Entusiasta Python! Engenheiro de Computao pela UEFS Aluno regular do mestrado em Cincia da Computao pela UFBA Maom ou Mohammed, vulgo Matheus Cardoso 3. ESTUDA O QUE? 4. TRABALHA EM QUE? 5. TRABALHO: Fazendo o cliente feliz! Sempre alm do expediente; Ouvindo o cliente querer me pagar menos e querendo que eu faa maravilhas! Sob presso: se tudo der errado a culpa minha! 6. E TAMBM ME DIVIRTO, N? 7. EM TUDO NA MINHA VIDA EU PROGRAMO! E EM TODAS ELAS EU USO OU J USEI PYTHON 8. O QUE EU VOU FALAR? Como usar Python na web Frameworks Web2py 9. COMO USAR PYTHON NA WEB? 10. FRAMEWORKS! MUITOS FRAMEWORKS!!! 11. TIPOS DE FRAMEWORKS Micro frameworks Full-stack frameworks 12. Micro framework Se concentra no essencial Foco em simplicidade e extensibilidade MVC HTTP Framework 13. Micro framework 14. Full-stack frameworks Tudo que voc precisa est ali! MVC 15. Full-stack frameworks 16. QUE FRAMEWORK ESSE? 17. Open source - https://github.com/web2py/web2py Database-driven web-applications Rpido, extensvel e seguro! Pythonico! 18. Criado em 2007 Ferramenta de ensino a programao web Velocidade, facilidade e segurana, retrocompatibilidade "Desenvolver para web deveria ser fcil!" Massimo DiPierro - criador do web2py. Doutor Professor de Cincia da Computao em Alta Performance e Computao Cientfica na Universidade de DePaul, em Chicago, Illinois. 19. O projeto cresceu e ganhou colaboradores! E prmios! 20. Model-View-Controller (MVC) Separao de interesses No h incorporao de cdigo em pginas HTML. HTML gerado programaticamente CONTROLLER MODEL VIEW NOTIFY UPDATE UPDATEUSER ACTION 21. Segurana 10 maiores problemas de segurana Cross Site Scripting (XSS) SQL Injection The Open Web Application Security Project (OWASP) 22. O QUE H NA CAIXA? 23. Python Interpreter Apache, Nginx, Lighttpd, etc. Rocket web server core libraries: request, response, session, cache, helpers, template, forms, i18n, DAL, etc. Applications welcome MVC appadmin admin MVC appadmin examples MVC appadmin myapp MVC appadmin model controllers views modules languages databases static files 24. E COMO INSTALAR ISSO? 25. E SEM CONFIGURAO! 26. LINUX MAC OS WINDOWS 27. WELCOME APP 28. ADMIN LOGIN 29. PAINEL ADMINISTRATIVO 30. WELCOME APP 31. WELCOME APP 32. WELCOME APP 33. MODELS 34. MODELS - DAL DAL - Database Abstraction Layer Mapeia objetos Python em objetos do banco Queries Tabelas Registros Gera SQL dinamicamente em tempo real +10 35. MODELS - DAL db = DAL('sqlite://storage.db') db.define_table('mytable', Field('myfield')) rows = db(db.mytable.myfield != None).select() DAL Table Row Ah, migrations so automticos! =D 36. MODELS ++ Lazy tables Validadores Banco de dados legados Transaes distribudas Campos virtuais Exportao e importao de dados (CSV, HTML e XML) Cache de selects Herana de tabelas Log automtico E muito mais! 37. VIEWS 38. VIEWS Cdigo Python embarcado Sintaxe Python modificada No precisa identar pass utilizada como delimitador de bloco Delimitadores: {{ }} 39. VIEWS

  • {{for item in items:}}
  • {{=item}} {{pass}}
  • a
  • b
  • c

tems' uma lista passada por um controller 40. VIEWS

  • {{while k > 0:}}
  • {{=k}}{{k = k - 1}} {{pass}}
  • 3
  • 2
  • 1

ara k igual a 3, passado por um controller 41. VIEWS Core Python embarcado HTML gerado 42. PAGE LAYOUT Views podem estender ou incluir outras views! 43. PAGE LAYOUT

{{include}}

{{extend 'layout.html'}} Hello World!!!

Hello World!!!

extend 44. PAGE LAYOUT

{{include footer.html}}

My Footer