Django и AJAX

Джеймс Бенетт рассказывает о поддержке AJAX в Django. А я пересказываю :)Тема Django+AJAX весьма “горяча”. Django-разработчики говорят, что уже сейчас фреймворк готов для работы с AJAX. Джеймс Бенетт приводит пример нового модуля-сериализатора Django:from django.core import serializers def my_json_view(request):    data = serializers.serialize(“json”, MyModel.objects.all()[:5])    return HttpResponse(data, mime_type=”text/javascript”)Данный пример возвращает пять последних объектов в формате JSON.Однако, в сравнении с RoR и TurboGears, поддержка AJAX в Django лишь на стороне сервера. Джеймс Бенетт предлагает создавать JavaScript “руками”. На это он приводит несколько причин:
  • не хочется привязывать Django к какому-либо JS-тулкиту
  • поддерживать все популярные JS-тулкиты в Django нет возможности
В итоге он говорит о том, что сейчас человек не может называться web-разработчиком, если он не знает JavaScript (помимо HTML и CSS).Напоследок Джеймс Бенетт формулирует краткие тезисы:
  • Вы уже можете использовать AJAX в Django, и в действительности это совсем не сложно.
  • Возможно, в будущем (после улучшения механизмов сериализации) это будет проще чем сейчас, и бдет еще проще если/когда мы сделаем API web-сервисов.
  • Использование “помошников”, чтобы не писать JavaScript, плохо и не правильно. Учите JavaScript. Пишите JavaScript. Это будет лучше для Ваc.
Подписаться Комментировать

Комментарии

4.07.2006 22:40 Юревич Юрий

Ян Холсман так прокоментировал точку зрения Джемса Бенетта:

Знаю ли я JavaScript? Да. Я также знаю SQL, и умею писать модули к web-серверам, но знание о том, как делать, не означают, что что я должен это делать каждый раз, как захочу написать приложение. Написание (и отладка) JavaScript для меня — потеря времени. Я хочу тратить время на более полезные вещи, например создание сайта для поиска работы или контент-агрегатора . Если у Django будет приятная “прослойка” для работы с JavaScript, то эти сайты будут использовать ее уже сейчас, а не ждать, пока я напишу и внедрю свою собственную.

11.07.2006 22:50 Юревич Юрий

Да, вот это отношение к JavaScript совсем неправильное. Знания они конечно тоже нужны, но заниматься рутинной работой по написанию скрипта каждый раз когда надо обновить какойто блок на странице, это мало того что нервирует, так еще и делает проект дороже :(
Т.е. получается Django не будет дружить с Ajax? Жалко… хороший был фреимворк…

13.07.2006 12:22 Юревич Юрий

Почему был? Он и сейчас вроде остается не плохим. Я так думаю, что некие “хелперы” по AJAX по-любому будут в django.contrib.

Форма комментирования для «Django и AJAX»

Обязательное поле. Не больше 30 символов.

Обязательное поле

Пожалуйста, введите символы, которые вы видите на изображении

26.10.2008 13:47 Electronc

Да что уж там! Неужели сложно добавить в Django функцию, что-то вроде: declareAJAXfunction(‘handler1’, (‘field1’, field2’, ‘field3’), ‘field4’, ServerSideHandler) Генерим урл вроде /ajax/handler1?field1=%s&field2=%s&field3=%s; На стороне клиента (в Джаваскрипте) создаём урл, на стороне Django — добавляем в паттерны и парсим. Кто захочет, тот скроит! Написать бы координатору!..