2009-06-13 17 views
8

He hecho una estructura de modelos complejos en django. Había planeado renderizar esta estructura usando GWT, pero con python la opción de comunicarme con ella: - usando JSON y en este caso tengo que duplicar la estructura de los modelos en objetos javascript (ver gwt tutorial). - python-gwt-rpc es una biblioteca de llamadas a procedimientos remotos compatible con gwt, pero me parece que no es fácil de integrar con los modelos django, y la documentación desactualizada no me sirve.Django + GWT o Jquery

La alternativa que considerar es el uso del sistema de plantillas de Django para hacer mis páginas con algunos plugins jQuery UI y el método sugerido en este post a retriving datos HTML sin traten de objetos JSON, porque creo que tratar con ella es una pesadilla porque en mi estructura cuando los datos cambian también la interfaz puede cambiar drásticamente.

Así que creo que con GWT tengo que duplicar los modelos django en objetos javascript pero he sido compatible con el sistema de subclases java. En la segunda solución reutilizo los modelos django y uso el sistema de plantillas django, luego pude hacer una verificación del servidor, pero ni una interfaz GWT genial ni la llamada ligera Json para actualizar páginas.

¿Cuál es su enfoque sobre este tema?

Respuesta

4

Creo que debe tomar su decisión en función de los factores habituales: cuánto tiempo tiene para desarrollar su aplicación y cuáles son las mejores herramientas para realizar el desarrollo en ese momento.

Si ha tomado la decisión de que Django es su marco de trabajo del servidor (que es mi opción favorita), entonces parece bastante claro que jQuery, Dojo, etc. probablemente se integren más fácilmente con su Django.

Por otro lado, si tiene más tiempo y especialmente si puede abrir las partes de la interfaz de Django, sería genial escribir algún código que pueda engancharse a las internas de Django y generar el Javascript necesario sin problemas interfaz con GWT y no violar DRY.

En resumen, si tiene que hacer la aplicación, vaya con jQuery. Si tiene más tiempo y desea algunos elogios, desarrolle una buena biblioteca integrada para Django que represente el HTML + Javascript adecuado de los modelos y formularios de Django que se integrarán con GWT.

Sólo mi opinión :)

1

De hecho, he cruzado este puente exacta, y por desgracia he encontrado que lo mejor es hacer que los objetos del lado del cliente en GWT. Afortunadamente, sin embargo, esto se hace fácilmente usando JavaScript Overlays y un pequeño generador de código.

Mi generador de código mira el archivo models.py y arranca todos los campos pertinentes antes de colocarlos en los archivos .java para GWT. Una vez que tenga esto, implementar sus nuevos objetos es bastante fácil.

+0

¡Gran Jack! ¿Puedes compartir tu generador esa búsqueda en models.py? También maneja las clases extendidas? Ahora me he dado cuenta de que para mis necesidades particulares, un catálogo de sitios, Jquery y Jquery UI funciona bien, pero si más adelante necesitaré agregar alguna GUI compleja, necesitaré GWT. – capolise

+0

Publicaba el código por usted, pero le aconsejo que busque una mejor manera de hacerlo. Actualmente utilizo Perl para analizar los archivos .py. Lo escribí antes de tener una comprensión adecuada de la introspección de los archivos del Modelo Django. Sugeriría investigar eso, y hacer tu propio. –

9

¿Has considerado pijamas?

Para mí, es lo mejor de ambos mundos. Usas, como de costumbre, el back-end de Django pero puedes usar fácilmente los servicios de JSON RPC desde tu código de pijama.

Codifica el front-end como en GWT, pero en Python en lugar de Java.

Aquí hay un breve tutorial: http://gdwarner.blogspot.com/2008/10/brief-pyjamas-django-tutorial.html