dajaxproject.com

19
dajaxproject.com Jorge Bas*da Perez @jorgebas*da jorgebas*da.com

description

Breve charla sobre dajaxproject.com para el primer encuentro de django-bilbao.

Transcript of dajaxproject.com

Page 1: dajaxproject.com

dajaxproject.comJorge  Bas*da  Perez@jorgebas*da

jorgebas*da.com

Page 2: dajaxproject.com

¿Qué  es  dajaxproject.com?

Page 3: dajaxproject.com

Algunos  datos

2.000  visitas8.000  Páginas  vistas79  países

hBp://dajaxproject.comÚlFmo  mes11  Diciembre  2010  -­‐>  11  Enero  2011

Page 4: dajaxproject.com

Algunos  datos  github

?????  visitas14.000  Páginas  vistas

hBp://dajaxproject.comÚlFmos  3  mes

Forks Watchers

django-­‐dajax 4 87

django-­‐dajaxice 7 76

hDps://github.com/jorgebas*da/django-­‐dajax/hDps://github.com/jorgebas*da/django-­‐dajaxice/

Page 5: dajaxproject.com

Algunos  datos  debian

hDp://qa.debian.org/popcon.php?package=dajaxicehDp://qa.debian.org/popcon.php?package=django-­‐dajax

Page 6: dajaxproject.com

STFU...  Show  me  the  code

Page 7: dajaxproject.com

¿Cual  es  la  idea?

Page 8: dajaxproject.com

¿Cual  es  la  idea?

from django.utils import simplejsonfrom dajaxice.core import dajaxice_functions

def myexample(request): return simplejson.dumps({'message':'Hello World'})

dajaxice_functions.register(myexample)

... onclick="Dajaxice.example.myexample(my_js_callback);"...

python

html

function my_js_callback(data){ if(data==Dajaxice.EXCEPTION){ alert('Error! Something happens!'); } else{ alert(data.message); }}

js

Page 9: dajaxproject.com

Instalación

INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'dajaxice', ...)

DAJAXICE_MEDIA_PREFIX="dajaxice"

from dajaxice.core import dajaxice_autodiscoverdajaxice_autodiscover()

(r'^%s/' % settings.DAJAXICE_MEDIA_PREFIX, include('dajaxice.urls')),

seMngs.py

urls.py

{% load dajaxice_templatetags %}

<html> <head> <title>My base template</title> ... {% dajaxice_js_import %} </head>...</html>

html

Page 10: dajaxproject.com

DEMO

Page 11: dajaxproject.com

¿Y  django-­‐dajax?

Page 12: dajaxproject.com

dajax  =  caramelos

Page 13: dajaxproject.com

django-­‐dajax

Manipular  el  DOM  de  la  página  desde  python.Pocos  o  ningún  conocimiento  de  JSSoporta  variedad  de  Frameworks  de  JS:•  Prototype•  jQuery•  MooTools•  Dojo

Page 14: dajaxproject.com

¿Cual  es  la  idea?

Page 15: dajaxproject.com

¿Cual  es  la  idea?

from dajax.core.Dajax import Dajaxdef assign_test(request): dajax = Dajax() dajax.assign('#block01 li','innerHTML','Something else...') return dajax.json()

... onclick="Dajaxice.app.assign_test(Dajax.process);"...

python

html

Page 16: dajaxproject.com

DEMO

Page 17: dajaxproject.com

¿Merece  la  pena  liberar?

¡  SI  !

Page 18: dajaxproject.com

Alguna  recomendación

PEP8hDp://www.python.org/dev/peps/pep-­‐0008/

Page 19: dajaxproject.com

Gracias