Presentacio Django
-
Upload
antoni-aloy -
Category
Technology
-
view
1.213 -
download
0
Transcript of Presentacio Django
Django s un bastimentper a la creaci d'aplicacionsweb, madur, completi ben documentat
Utilitzat per a la creacide llocs webREALSiamb les bateries incloses
RSS, i18n, ORM, urls amigables, sites, plantilles, middlewares, ...
Principals caracterstiques
DRY
Reutilitzaci de codi
Orientat a la feina
Amb una documentaci grandiosa
Utilitza el model vista plantilla (MVT ~ MVC)
Administrador automtic i personalitzable
Escalable
Estructura d'un projecte Django
Imatge: Rob Yates
Arquitectura modular
Imatge: Rob Yates
Com comenar?
Fer el tutorials rpid
s fcil
Serveix per comenar
Com comenarem?appfusedjangoExemples de projectes
Experiments
Copiar i aferrar
s una manera rpida de comenar un projecte, el farem servir per veure l'estructura
Requisits:Python 2.5+
Django 1.1.1
svn checkout http://appfusedjango.googlecode.com/svn/trunk/ appfusedjango
Executant els exemples
copiar properties.py.template a properties.py
copiar loggin.conf.templates a loggin.conf
python manage.py syncdb
python manage.py runserver
urls del projecte
importsenllad'aplicacionsen depuraci
url.py
Imatge: Rob Yates
urlresolver
admininclude
urls per agenda_perm
(r'^agenda/', include('agenda.urls')),
url com a expressi regularcodique s'executarnomdel la url
urls a agenda
nom delmdulFunci aexecutarmapeig de la url
views.py
s un mdul python
No t perqu anomenar-se views, per s una bona convenci.
Pot xapar-se com convengui
Ha de tornar quelcom que pugui interpretar un navegador web:html
o un objecte amb un mime/type vlid: txt, json, xml, pdf, csv, ...
Cas tpic: html
La url mapeja una funci del views.py
Aquesta funci fa el que tengui que fer i genera html mijanant una plantilla.
url
Les plantilles
Son bsicament HTML
Amb tags especials
Sn amigables amb els maquetadors
Per no amb els editors que ho fan tot
Pot generar-se qualsevol cosa (no necessriament HTML)
No hi ha lgica de negoci. NO i NO!
Important: l'herncia i els blocks
L'herncia de plantilles
Ens permet canviar un lloc web o extendre'l en un tres i no res.
Partim d'una base (base.html per exemple)
Programam per diferncies:Podem sobreescriure els blocks
Extendre'ls
Tamb hi ha includes per el seu s s menys necessari que en PHP o JSP.
Orientaci a la feina de Django: no reinventeu la roda. Si s tpic segurament ja est fet!
Exemple
llibreria de Django per i18nblocs que es podensobrescriuretag
Una plantilla ms complexa
taglibexternbloc decontrolifvariablesi filtres
Models
Fan el mapeig entre la BD i els objectes Python
Django t el seu propi ORM, senzill per no tan senzill per a no poder fer la feina
Estan lligats amb l'administraci
I tamb amb certs tipus de formularis
No estam obligats a utilitzar l'ORM de Django, per si ho feim s ms fcil fer-hi feina.
BD: Postgresql, sqlite, MySql, Oracle, DB2, Firebird
Agenda
DefiniciRepresentaci
Models II
Ens creen les estructures de dades
Per tamb es poden fer servir en BD legacy
Ens eviten tractar amb les complexitats de l'SQL
Independitzant-nos de la BD
Evitant repetir codi de Objecte-Sql-Objecte
Idea: comenar amb sqlite i desprs anar cap a BD com Postgres
Del model cream l'Admin
urls.pydel projecteadmin.pyde l'aplicaci
python mange.py syncdb
Formularis
Ens permeten definir la presentaci
La validaci
I poden estar lligats o no a un model
Per no ens condicionen el disseny
Ni estam obligats a utilitzar-los
Exemples
Validaci de dades
Els formularis ens permeten:Validar tot el conjunt de dades (clean)
Validar un camp (clean_nom)
Retornant un objecte Python vlid per a la nostra aplicaci.
Fan les nostres aplicacions ms segures
I molt ms ...
Applicacions endollables
Autoritzaci inclosa
Cach
Paginaci
Middleware
GIS
...
I PYTHON AL DARRERA, NO HO OBLIDEM!
Grcies
Aix sols s el comenament ...