Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Ajax

45 views
Skip to first unread message

Nafiul Islam

unread,
Jun 29, 2013, 1:52:29 AM6/29/13
to django...@googlegroups.com
In which version, will Django natively support Ajax? I'm curious because you need Ajax for almost any site these days, and Django not supporting it natively has become a bit of a hindrance for me.

Russell Keith-Magee

unread,
Jun 29, 2013, 2:03:04 AM6/29/13
to django...@googlegroups.com

I'm not sure what you mean. Django completely supports AJAX right now. 

Django is a server-side framework, and the only part of AJAX that is server-side is the API call. 

An API call is just a view that returns JSON/XML instead of HTML. You can write that right now in Django.

If you want a library to make it even easier, there are several options, including TastyPie and Django-REST-Framework.

The client-side part of the AJAX problem is outside the domain of Django. There are plenty of good client-side frameworks; pick one, and you'll find it can talk perfectly well with Django.

Yours,
Russ Magee %-)

On Sat, Jun 29, 2013 at 1:52 PM, Nafiul Islam <gamesb...@gmail.com> wrote:
In which version, will Django natively support Ajax? I'm curious because you need Ajax for almost any site these days, and Django not supporting it natively has become a bit of a hindrance for me.

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com.
To post to this group, send email to django...@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Gamesbrainiac

unread,
Jun 29, 2013, 2:08:09 AM6/29/13
to django...@googlegroups.com

Then why does itsay on the website that Django does not support Ajax natively?

You received this message because you are subscribed to a topic in the Google Groups "Django users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/django-users/2oaiisZw_ZY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to django-users...@googlegroups.com.

Russell Keith-Magee

unread,
Jun 29, 2013, 6:05:33 AM6/29/13
to django...@googlegroups.com

Can you provide a little more direction than "The website"? "The website" is a kinda big place… :-)

Yours,
Russ Magee %-)

Christophe Pettus

unread,
Jun 29, 2013, 6:15:22 AM6/29/13
to django...@googlegroups.com
It's also not clear to me what "(not) supporting Ajax" would even mean. Ajax just sends HTTP requests, and the server responds to them (usually with JSON structures). I have tons of Ajax applications that use Django as the backend, so if it doesn't support it, no one tell that code lest it stop working. :-)
-- Christophe Pettus
x...@thebuild.com

mulianto

unread,
Jun 29, 2013, 9:16:34 AM6/29/13
to django...@googlegroups.com
Hi,

Django can serve Ajax request from any client.

Some ajax APP sent json format data to the client some APP just sent partial view to the client as ajax update.

Which ever your choise to use with django, it can be done.

I have the second type ajax APP, serve from django APP and update the partial view.



Sent from my iPhone

Gamesbrainiac

unread,
Jun 29, 2013, 11:51:32 AM6/29/13
to django...@googlegroups.com
Sorry, was on a mobile phone. Let me give you exact link, please excuse me being a little stupid.

https://code.djangoproject.com/wiki/AJAX -> First line, "Django does not natively support Ajax". Now, this was weird, because I've seen others use Ajax with Django, for example in this tutorial: https://racingtadpole.com/blog/django-ajax-and-jquery/. Now, I tried to replicate it, and it worked fine. However, since I don't know all that much about Ajax, I thought there was more to it than what was described in that website, since it says that Django does not natively support Ajax. So, what was meant by this statement, and what does it mean to 'natively' support Ajax.

Thanks, and Kind Regards as always.
Kind Regards,

Quazi Nafiul Islam

Christian Schmitt

unread,
Jun 29, 2013, 12:21:27 PM6/29/13
to django...@googlegroups.com
It would be great if serializers also supports a single object, that would make ajax requests better and / or json support for forms.
like that:
serializers.serialize('json', object) and not [object] and then i need to strip the [] tags.
also the serializers is really hard to use to make more objects as a response.

a datastructure like this:
dict = {
'object1': object ,
'list-of-objects': [object],
}
is really hard to achieve with the current implemented functionallity.

at the moment i need to do the following:
dict = {
'single-object': json.loads(serializers.serialize('json', [object]).lstrip('[').rstrip(']'))
'object-list': serializers.serialize('json', object-list)
}
json.dumps(dict)

i don't thinkt it is the best way to do.
Also I think the template engine is really 'outdated' and 'slow' compared to closure-templates, which i could use on the server-side and on the template side. (but currently i'm planning to make a python/django version of them to implement them).

Also SPA sites are coming so maybe a 'good' way to get the current history so that you could easily render a page when starting a page from something like http://www.page.com/#backend or something like that. maybe this is really hard to achieve, since the history is on the client side, but i think it would be great to have a better javascript client library for django that could do this job like django.contrib.ajax.history which could also be called with a jquery plugin.
I mean i can't replace the whole url with javascript/ajax, i can only change the last part behind #.
maybe there are a lot of things to do, to make django fully aware of Ajax.

the thing is at the moment there is no good answer to have both worlds. a server-side-framework that also has a good client-side-framework. ok there a plenty of answers, but not in python, only in java. (gwt, eclipse rap, javafx) but in python you can only have one and you need to do both things really good. 
so it makes it very hard to write good code, since you always need to implement both sides. i mean this wouldn't be a problem when some things would be easier.
as already said the serializers needs some work, the template engine and many things i don't even have on my mind. but for the start a better serializers would be great.

(also you need to return a json object to serializers if you have foreign keys to make use of them in some situations or you make dozen of new http request for every new object would could be a pain in the a**)

Russell Keith-Magee

unread,
Jun 29, 2013, 8:24:30 PM6/29/13
to django...@googlegroups.com
On Sat, Jun 29, 2013 at 11:51 PM, Gamesbrainiac <gamesb...@gmail.com> wrote:
Sorry, was on a mobile phone. Let me give you exact link, please excuse me being a little stupid.

https://code.djangoproject.com/wiki/AJAX -> First line, "Django does not natively support Ajax".

That comment is on the wiki. The wiki can be contributed by anybody, and isn't reviewed by the core team. As a result, the advice found there can often be wrong or misleading.

 Allow me to confirm that the advice that Django "doesn't support AJAX" is *incorrect*. I've just corrected the wiki page.

Yours,
Russ Magee %-)

Christian Schmitt

unread,
Jun 30, 2013, 4:25:08 AM6/30/13
to django...@googlegroups.com
Every Framework supports Ajax. But as i already mentioned and as already talked about in the django-developers, the support of serialization and other things is really really crappy and needs to be fixed.
Especially SPA sites needs some love. I mean in the core Django is cool, and since the new cbv's i really love django and the ajax support is better now, but some things are still messy.
Reply all
Reply to author
Forward
0 new messages