Have a look at following Unobtrusive Ajax, it is plug out of ASP.NET MVC, simple yet powerful.
https://github.com/farazmasoodkhan/DjangoAjax On Tuesday, September 4, 2012 6:39:49 PM UTC+5, dotnetCarpenter wrote: > > Hi all. > > I'm new here and just took over a Django project for the first time. I'm > still getting to grip with Django but as a front end dev for the past 5 > years, I'm also looking for a client-side library/framework to go together > with my project. > My requirements for a JS framework is that it: > > 1. is unobtrusive (Django rendered HTML will be shown to scraper bots > like google) > 2. provides some sort of structure (MVC, MVP, MVVM ect.) > 3. embraces standards > 4. doesn't conflict with Django templates or does so intentionally > 5. ideally uses the same template language as Django > > In the ideal world a request/response scenario would look like this: > > 1. A client make a (HTTP) request to the (django powered) web site > with (HTTP) Accept header text/html > 2. Django response in the usual way by rendering the assign View > (django template) > 3. The view figure out if JS is supported (implemented in JS). If no, > this scenario stays in loop 1-3. If yes, then 4. > 4. The client (usually a browser) wire up the client-side app > structure, hook in to URI links, add transitions between views, > data-bindings ect. > 5. Subsequent request are now handle by the JS framework, either user > initiated (e.g. clicking a link) or app initiated (e.g. pulling extra > data), that will modify the request header to Accept header > application/json or application/django-template. > 6. If django receive a request with an application/django-template > header it will serve the view as plain text. E.g. Content-type: > text/plain. > On the other hand if django receive a request with application/json, it > will send the object model defined in the view as JSON. > 7. The client-side JS framework will receive a template to render in > the first request and the data to render in the template in the second > request. A promise object could be used to synchronize the two calls. > > This way django will work as intended for non JS clients and silently > convert to a RIA in clients that supports JS, with minimal double work for > the two execution contexts. > A big pro in this is the fact that both django and the JS framework share > template and data (only has to defined once - in django) - we'll duck type > all the way. But does this JS framework exist? Does anyone have any > experience with working with django and JS frameworks? Is there any obvious > pitfalls in my ideal world scenario in regard to Django? And finally, is it > possible to serve templates as plain text with django? > > > Cheers, Jon and thanks in advance > > PS. I accidentally cross-posted this to the Django Developers group before > realizing it was the wrong forum. Sorry about that. > > -- You received this message because you are subscribed to the Google Groups "Django users" group. To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/j4NQCOQM9T0J. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.