You are on page 1of 2

AJAX en Django usando jQuery Recientemente he creado un proyecto paralelo para explorar algunas áreas de alta tecnología que

quería conocer más a fondo. Una de esas áreas era cómo implementar AJAX en Django usando jQuery. En pocas palabras, el sitio, TruthTruthLie.me (update 05.03.2013: el sitio está temporalmente fuera de línea como cambiar mi Facebook Connect aplicación de django-socialregistration a django-social-auth) presenta tres hechos acerca de usted y desafía a tus amigos a haga clic en el que es una mentira. Cuando su amigo haga clic sobre un hecho, yo enviaré la fact_id hecho clic a través de AJAX a una url. A Django rutas patrón de URL el clic a una vista donde puedo comprobar lo que "escribe" el hecho es devolver el resultado a través de JSON al cliente y actualizar la página de forma dinámica y sin actualizar la página. A continuación se presentan la página simplificada, patrón de url y la vista que utilizo para hacer esto. También puede visitar mi sencilla pero trabajando AJAX en Django usando jQuery página de demostración. ajax_in_django.html:
view sourceprint?

01.<html> 02.<head> 03.<script type="text/javascript" 04.src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"> 05.</script> 06.<script type="text/javascript"> 07.$(document).ready(function() { 08.$('.fact').bind('click', function () { 09.$.get("/test/"+this.id+"/", function(data) { 10.if (data.fact_type=="T") { 11.guess_result="This fact is true! " + data.fact_note; 12.} else { 13.guess_result="This fact is false! " + data.fact_note; 14.} 15.$('#result')[0].innerHTML=guess_result; 16.}); 17.}); 18.}); 19.</script> 20.</head> 21.<body> 22.<div id="1" class="fact">I love bugs</div> 23.<div id="2" class="fact">I love hugs</div> 24.<div id="3" class="fact">I love pugs</div> 25.<div id="result">Click on the lie!</div> 26.</body> 27.</html>

url.py:
view sourceprint?

1.# Process a quiz guess 2.url(r'^test/(?P<fact_id>\d+)/$', 3.quiz_guess,

Asimismo. "fact_note": ""} 05. 03.utils import simplejson 02. fact_id): 04.note 09.message = {"fact_type": "". ver cómo funciona todo y luego ir a "Facebook> Cuenta> Configuración de privacidad> Aplicaciones y sitios web> Editar su configuración "y revocar el privilegio de conexión. un hecho que tiene un "tipo" y "nota". 2 y 3. y que ha creado los tres hechos mencionados y tienen los ID de 1.type 08. cambie el porcentaje de los que acertó / mal y cambiar el fondo del hecho clic. Si quieres ver AJAX en Django usando jQuery tal como se aplica plenamente.name='quiz_guess').from django. pero si esto te hace sentir incómodo.message = "You're the lying type. por favor. mimetype='application/json') Esto. También puedo actualizar los facepiles de los guessors correctas e incorrectas. puede conectar temporalmente.else: 10. I can just tell.message['fact_type'] = fact. .dumps(message) 12. seguir adelante y crear una prueba de muestra por sí mismo yendo aquí y haciendo clic en "Haga su propio concurso". asume que ha definido un modelo llamado "Realidad". en la página que haga más de actualizar el texto de la div "número".if request. En mi punto de vista real.fact = get_object_or_404(Fact. id=fact_id) 07.4.return HttpResponse(json. por supuesto.message['fact_note'] = fact. me hago algunas otras cosas como guardar el clic y comprobar si es el primero en el concurso. Usted tendrá que conectarse al sitio a través de Facebook para crear una prueba.def quiz_guess(request. views.py: view sourceprint? 01.is_ajax(): 06." 11.json = simplejson.