3 июля 2006
Django и AJAX

Теги: 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.

Юревич Юрий 3 июля 2006, 20:30

Комментарии

Юревич Юрий 4 июля 2006, 22:40

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



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



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

Igor Artamonov 11 июля 2006, 22:50

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

Т.е. получается Django не будет дружить с Ajax? Жалко… хороший был фреимворк…

Юревич Юрий 13 июля 2006, 12:22

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

Оставьте свой комментарий