Presentacio Django

1,201 views

Published on

Prsentació de Django feta el 4-12-2009 a la sala de formació del Parc Bit

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,201
On SlideShare
0
From Embeds
0
Number of Embeds
19
Actions
Shares
0
Downloads
47
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Presentacio Django

  1. 2. Django és un bastiment per a la creació d'aplicacions web, madur, complet i ben documentat
  2. 3. Utilitzat per a la creació de llocs web REALS i amb les bateries incloses RSS, i18n, ORM, urls amigables, sites, plantilles, middlewares, ...
  3. 4. Principals característiques <ul><li>DRY
  4. 5. Reutilització de codi
  5. 6. Orientat a la feina
  6. 7. Amb una documentació grandiosa
  7. 8. Utilitza el model vista plantilla (MVT ~ MVC)
  8. 9. Administrador automàtic i personalitzable
  9. 10. Escalable </li></ul>
  10. 11. Estructura d'un projecte Django Imatge: Rob Yates
  11. 12. Arquitectura modular Imatge: Rob Yates
  12. 13. Com començar? <ul><li>Fer el tutorial </li><ul><li>És ràpid
  13. 14. És fàcil
  14. 15. Serveix per començar </li></ul><li>Com començarem? </li><ul><li>appfusedjango </li><ul><li>Exemples de projectes
  15. 16. Experiments </li></ul></ul></ul>
  16. 17. Copiar i aferrar <ul><li>És una manera ràpida de començar un projecte, el farem servir per veure l'estructura
  17. 18. Requisits: </li><ul><li>Python 2.5+
  18. 19. Django 1.1.1
  19. 20. svn checkout http://appfusedjango.googlecode.com/svn/trunk/ appfusedjango </li></ul></ul>
  20. 21. Executant els exemples <ul><li>copiar properties.py.template a properties.py
  21. 22. copiar loggin.conf.templates a loggin.conf
  22. 23. python manage.py syncdb
  23. 24. python manage.py runserver </li></ul>
  24. 25. urls del projecte imports enllaç d'aplicacions en depuració
  25. 26. url.py Imatge: Rob Yates url resolver admin include
  26. 27. urls per agenda_perm (r'^agenda/', include('agenda.urls')), url com a expressió regular codi que s'executarà nom del la url
  27. 28. urls a agenda nom del mòdul Funció a executar mapeig de la url
  28. 29. views.py <ul><li>És un mòdul python
  29. 30. No té perquè anomenar-se views, però és una bona convenció.
  30. 31. Pot xapar-se com convengui
  31. 32. Ha de tornar quelcom que pugui interpretar un navegador web: </li><ul><li>html
  32. 33. o un objecte amb un mime/type vàlid: txt, json, xml, pdf, csv, ... </li></ul></ul>
  33. 34. Cas típic: html <ul><li>La url mapeja una funció del views.py
  34. 35. Aquesta funció fa el que tengui que fer i genera html mijançant una plantilla. </li></ul>url
  35. 36. Les plantilles <ul><li>Son bàsicament HTML
  36. 37. Amb tags especials
  37. 38. Són amigables amb els maquetadors
  38. 39. Però no amb els editors “que ho fan tot”
  39. 40. Pot generar-se qualsevol cosa (no necessàriament HTML)
  40. 41. No hi ha lògica de negoci. NO i NO!
  41. 42. Important: l'herència i els blocks </li></ul>
  42. 43. L'herència de plantilles <ul><li>Ens permet canviar un lloc web o extendre'l en un tres i no res.
  43. 44. Partim d'una base (base.html per exemple)
  44. 45. Programam per diferències: </li><ul><li>Podem sobreescriure els blocks
  45. 46. Extendre'ls </li></ul><li>També hi ha “includes” però el seu ús és menys necessari que en PHP o JSP.
  46. 47. Orientació a la feina de Django: no reinventeu la roda. Si és típic segurament ja està fet! </li></ul>
  47. 48. Exemple llibreria de Django per i18n blocs que es poden sobrescriure tag
  48. 49. Una plantilla més complexa taglib extern bloc de control if variables i filtres
  49. 50. Models <ul><li>Fan el mapeig entre la BD i els objectes Python
  50. 51. Django té el seu propi ORM, senzill però no tan senzill per a no poder fer la feina
  51. 52. Estan lligats amb l'administració
  52. 53. I també amb certs tipus de formularis
  53. 54. No estam obligats a utilitzar l'ORM de Django, però si ho feim és més fàcil fer-hi feina.
  54. 55. BD: Postgresql, sqlite, MySql, Oracle, DB2, Firebird </li></ul>
  55. 56. Agenda Definició Representació
  56. 57. Models II <ul><li>Ens creen les estructures de dades
  57. 58. Però també es poden fer servir en BD legacy
  58. 59. Ens eviten tractar amb les complexitats de l'SQL
  59. 60. Independitzant-nos de la BD
  60. 61. Evitant repetir codi de Objecte-Sql-Objecte
  61. 62. Idea: començar amb sqlite i després anar cap a BD com Postgres </li></ul>
  62. 63. Del model cream l'Admin python mange.py syncdb urls.py del projecte admin.py de l'aplicació
  63. 65. Formularis <ul><li>Ens permeten definir la presentació
  64. 66. La validació
  65. 67. I poden estar lligats o no a un model
  66. 68. Però no ens condicionen el disseny
  67. 69. Ni estam obligats a utilitzar-los </li></ul>
  68. 70. Exemples
  69. 71. Validació de dades <ul><li>Els formularis ens permeten: </li><ul><li>Validar tot el conjunt de dades (clean)
  70. 72. Validar un camp (clean_nom)
  71. 73. Retornant un objecte Python vàlid per a la nostra aplicació. </li></ul><li>Fan les nostres aplicacions més segures </li></ul>
  72. 74. I molt més ... <ul><li>Applicacions endollables
  73. 75. Autorització inclosa
  74. 76. Caché
  75. 77. Paginació
  76. 78. Middleware
  77. 79. GIS
  78. 80. ...
  79. 81. I PYTHON AL DARRERA, NO HO OBLIDEM! </li></ul>
  80. 82. Gràcies Això sols és el començament ...

×