Какая библиотека AJAX лучше всего подходит для Django?

102

Какая библиотека AJAX лучше всего подходит для django и почему? Ищете один с большой базой данных учебников, книг и подробной документации.
С какой из них легче всего работать? Какой из них находится в раннем развитии, но показывает большие перспективы на будущее?

С уважением,
chriss

  • 0
    Изменил название вашего вопроса на что-то более актуальное.
  • 4
    Было бы хорошо уточнить, если это вопрос о библиотеках javascript (prototypejs, jquery, dojo ...) или библиотеках Django / Python (dajax ...)
Показать ещё 1 комментарий
Теги:

11 ответов

69
Лучший ответ

Я очень рекомендую jQuery. Существует несколько руководств по его реализации.

http://lethain.com/entry/2007/dec/11/two-faced-django-part-5-jquery-ajax/

http://lethain.com/entry/2007/dec/01/using-jquery-django-autocomplete-fields/

http://vincentxu.net/minimal-ajax-in-django-with-jquery-post

ПРИМЕЧАНИЕ. Microsoft также анонсировала некоторое время назад, что jQuery будет официальной клиентской платформой для ASP.NET MVC, поэтому хорошо знать, вне зависимости от того, какую структуру на стороне сервера вы используете.

  • 0
    Примечание: первые две ссылки больше не работают.
  • 3
    Ссылки, кажется, снова в сети.
Показать ещё 3 комментария
62

Я думаю, что это может быть то, что вы ищете:

http://dajaxproject.com/

Довольно хорошо документировано. Простое апи. Очень чистый и приятный. Я планирую использовать его в некоторых своих проектах. Это JS-библиотека агностическая и хорошо работает с jQuery, если это ваша вещь.

UPDATE:

Другие решения, похожие на dajaxice, но не стандартные dajax.

В конце концов они в основном работают одинаково.

  • Определить/включить некоторые предопределенные URL-маршруты.
  • Зарегистрировать модели/представления/функции, которые будут использоваться в качестве источников данных.
  • Наслаждайтесь.

UDATE2:

Этот совет супер старый. Должны, вероятно, исследовать другие решения.

  • 2
    Я удивлен, что это не получило голосование. Выглядит отлично. Дайвинг сейчас.
  • 0
    Прошло 1,5 года, и, похоже, с тех пор в нем не было много обновлений. Это все еще хорошая рекомендация?
Показать ещё 5 комментариев
16

Нет ничего о Django, который упростит или улучшит работу любой из библиотек с фреймворком. Просто используйте тот, который лучше всего подходит вашему мозгу.

Сказав это, я считаю, что jQuery более популярен в мире Django и является тем, что я лично использую. В частности, многие приложения из Pinax требуют jQuery. Некоторые другие общие приложения и фрагменты кода для Django:

http://www.djangosnippets.org/tags/jquery/
http://code.google.com/p/django-ajax-validation/
http://code.google.com/p/django-todo/
http://code.google.com/p/donita/

8

Также имейте в виду, что новейшие книги Django (Python Web Development с Django, Изучайте веб-сайт Dev с Django) используйте jQuery в своих учебниках.

7

Оформить заказ Dajax:

Проект Dajax

Простые в использовании библиотеки AJAX для Django

Быстрые, легкие и легкие библиотеки реализовать AJAX внутри вашего django проекты. Готов к использованию через 5 минут.

Dajax - это мощный инструмент для сверхбыстро развиваются асинхронные логика представления в веб-приложениях используя python и почти нет строк JS исходный код.

Он поддерживает до четырех из популярные JS-фреймворки: прототип, jQuery, Dojo и mootols.

  • 0
    После того как я опубликовал этот ответ, я заметил, что кто-то уже упомянул Dajax, но этот ответ не описывает то, что предлагает библиотека (и не смог прокомментировать его)
  • 1
    И если вы проверите Github README, вы обнаружите: «Должен ли я использовать django-dajax или django-dajaxice? Одним словом, нет. Я создал эти проекты 4 года назад как крутой инструмент для решения одной конкретной проблемы, которая у меня была в то время. . В наши дни использование этих проектов - плохая идея ».
4

Я успешно использовал jquery, YUI и Dojo для разных проектов django. Ничего из того, что сделало его лучше использовать с джанго. Я согласен с jpartogy, что mochikit может поместиться django больше, чем любой другой только из-за "pythonic" (скрученный) API. Это действительно зависит от того, что вы ищете в рамках ajax.

Лично мне нравится то, что jQuery может делать с заданными объемами кода, но самая большая проблема при написании кода jQuery делает его доступным для чтения.

YUI гораздо более многословен, чем другие фреймворки, потому что он устанавливает соглашение об использовании пространств имен, но есть ссылки для написания меньшего кода, и он избегает попытки сделать javascript похожим на что-то еще.

Dojo пытается сделать javascript похожим на Java, и из моего опыта довольно медленно. В нем есть несколько замечательных виджетов и реализация javascript языка шаблонов django (что очень полезно даже вне проектов django).

Я лично избегаю прототипов и mootools, потому что они могут сломать другой код javascript (или наоборот).

Если вы новичок в javascript и ajax, я бы порекомендовал jQuery, потому что это проще всего начать. Но я не ожидаю, что какая-либо js-инфраструктура будет интегрирована с django в основном потому, что в этом нет необходимости.

2

+1 Советуту и ​​Даниилу за хорошие ответы. JQuery - хорошая структура. Помимо Pinax еще несколько других "больших" приложений Django используют его: Satchmo и Review Board (который переключился с другой структуры... mootools IIRC).

Также популярным является сворачивание собственного Javascript без использования каких-либо фреймворков, например администратора Django.

Единственное другое предложение, которое я могу сделать, это то, что если вы очень опытный Pythonhead, вам может понравиться mochikit, который приходит под некоторой критикой за то, что он слишком "питонический". Это, кажется, является основой выбора для Turbogears, но я лично не видел никаких проектов Django, использующих его.

  • 4
    Хороший ответ, за исключением фразы о прокате собственного JS. Я бы не назвал это популярным, я не видел его в приложениях Django, кроме администратора Django, и я рекомендую против этого. Зачем биться головой о кирпичную стену, когда не нужно? +1 здесь, если это удалено.
  • 0
    Ну, я не говорю, что это хорошая идея :) Мой javascript достаточно слаб, чтобы у меня не было выбора, поэтому я использую jquery. Я упомянул об этом, потому что я провел опрос 4-5 сайтов в верхней части списка на djangosites.com и нашел их все с помощью пользовательских js.
Показать ещё 1 комментарий
1

Если вам нужно работать с AJAX в проектах django с очень маленькой настройкой и простой в использовании, мое предложение:

django-ajax (Github, Pypi)

Быстрые, гибкие и простые в использовании библиотеки AJAX для проектов django. Содержит ajax decorator, ajax middleware, ярлыки и многое другое.

1

Хорошо, это может быть субъективным, потому что определение "лучший" может означать различие между каждым человеком. Но поскольку вы работаете с Django, это означает, что вы получите сильные стороны Python. Одна заметная библиотека Javascript, которая не слишком разоблачена, - Mochikit. Хорошо, что у него есть синтаксис, знакомый программисту Python (поскольку создатель - программист на Python). Он также хорошо написал документацию. TurboGears из-под коробки поддерживает Mochikit.

0

Django на самом деле не связан с клиентской стороной. Используйте то, с чем вам удобно. Django хорошо играет со всем в этой области, потому что вы просто пишете его в шаблонах.

0

Фраза "Лучшая библиотека AJAX" очень субъективна и зависит от личных предпочтений, существующих ноу-хау, требований работы и т.д. и т.д.

В то время как я предпочитаю jQuery для (почти) всего, я знаю, что некоторые люди клянутся Dojo или ExtJS. Может быть случай, когда вы хотите использовать jQuery, но требования могут указывать на использование ExtJS.

Все сказали. Используйте jQuery. jQuery rocks;)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню