presentacio django

Download Presentacio Django

If you can't read please download the document

Upload: antoni-aloy

Post on 16-Apr-2017

1.213 views

Category:

Technology


0 download

TRANSCRIPT

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 ...