Hi Jon, I was just wondering if you made a decision on this? I'm looking at a similar approach and am wondering what direction you ended up taking and why?
Currently looking at Knockout myself but open to suggestions. Thanks! --Martha On Thursday, September 6, 2012 4:30:30 AM UTC+1, dotnetCarpenter wrote: > > @Kelly Nicholes In backbone.js everything is in JS, meaning that there > could be no conflict between declarative code and Django handled templates. > If I can expose my python models, through auto serialization (JSON) from > Django, I can see a productivity win. But I'm a little afraid of the tight > coupling in data models between back-end and front-end. My main concern is > that I'll have to rewrite large parts of JS if/when the models change. Have > you any experience ironing out these issues? Maybe it's not a problem but I > lack experience with both frameworks. > > I'll look more into backbone.js :) > > Den onsdag den 5. september 2012 16.34.29 UTC+2 skrev Kelly Nicholes: >> >> It would be a travesty to not mention backbone.js. >> >> On Tuesday, September 4, 2012 7:39:49 AM UTC-6, 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/-/t2q8tpyWlf8J. 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.