Яка найкраща бібліотека AJAX для Django? [зачинено]


108

Яка бібліотека AJAX найкраща для джанго і чому?
Шукаєте один із великою базою навчальних посібників, книг та детальною документацією.
З яким найпростіше працювати? Хто з них знаходиться в ранньому розвитку, але демонструє велику обіцянку в майбутньому?

З повагою,
хриси


Змінено назву вашого питання на щось більш відповідне.
mmcdole

4
Було б добре уточнити, якщо мова йде про бібліотеки javascript (прототипи, jquery, dojo ...) або бібліотеки Django / Python (dajax ...)
Стів Беннетт

Здається, відповіді навколо тут сильно застаріли, оскільки такі рамки, як Django REST Framework і Tastypie, здається, є більш активними і зараз віддають перевагу більшості розробників, тоді як інші, здається, мають проблеми із структурами, які на даний момент менш підтримуються (наприклад, Dajax ).
Пол-Себастьян Маноле

Відповіді:


70

Я настійно рекомендую 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, тому добре знати, незалежно від того, яку структуру на стороні сервера ви використовуєте.


Примітка. Перші два посилання більше не працюють.
Гаррет Гайд

3
Здається, посилання знову в Інтернеті.
Радянський

3
Між іншим, ніколи не будуйте відповідь JSON, "{'response_text': '"+post_text+" recieved.'}"як у третьому посиланні. Імпорт jsonабо simplejsonвикористання dumps!
Спалах

2
Хоча jQuery є фантастичним, на жаль, Django не має чіткої інтеграції (за межами адміністратора) зі своїми формами чи поглядами.
Серін

2
Останнє посилання вже не працює.
svenwildermann

62

Я думаю, це саме те, що ви шукаєте: django-dajax

Досить добре задокументований. Прості api. Дуже чисто і приємно. Я планую більше використовувати його в деяких своїх проектах. Це агностик бібліотеки JS і добре працює з jQuery, якщо це ваша справа.

ОНОВЛЕННЯ:

Інші рішення, схожі на dajaxice, але не стандартні.

Зрештою, вони в основному працюють так само.

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

UDATE2:

Ця порада дуже стара. Напевно, слід вивчити інші рішення.


2
Я здивований, що це не отримало голосування. Виглядає здорово. Дайвінг зараз.
Бен Кітінг

Зараз минуло 1,5 року, і проект виглядає так, що з тих пір не було багато оновлень. Це все-таки хороша рекомендація?
Тім Сейлор

@TimSaylor Я б сказав, що DajaxIce все ще є досить надійною бібліотекою, якщо це саме таке рішення, яке ви шукаєте: мертвий простий спосіб створення довільних кінцевих точок ajax, які ви можете використовувати в JavaScript. Я особисто не користувався б звичайною лінією Dajax, оскільки ви в кінцевому підсумку пишете багато коду презентації у своїх функціях перегляду. Це говорить про те, що у ваших моделях (або інших довільних даних) доступно безліч надійних бібліотек для автоматичного створення RESTful кінцевих точок. (Я оновлю свою відповідь посиланнями).
Дерек Рейнольдс

super lib для впровадження ajax у django
Суря

1
Сторінка Github для Dajax тепер говорить Should I use django-dajaxice?-In a word, No. I created this project 4 years ago as a cool tool in order to solve one specific problem I had at that time
користувач

16

Немає нічого про Django, що робить будь-яку з бібліотек простішою або краще працювати з рамкою. Просто використовуйте той, який найкраще відповідає вашому мозку.

Сказавши це, я відчуваю, що jQuery користується більшою популярністю у світі Джанго і це те, чим я особисто користуюся. Найбільше, що для багатьох програм у 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/



7

Оформити замовлення Dajax :

Проект Dajax

Прості у користуванні бібліотеки AJAX для Django

Швидкі, легкі та легкі бібліотеки для впровадження AJAX у ваші проекти джанго. Готовий до використання за 5 хвилин.

Dajax - це потужний інструмент для легкої та надшвидкої розробки асинхронної логіки презентації у веб-додатках за допомогою python та майже без рядків вихідного коду JS.

Він підтримує до чотирьох найпопулярніших рамок JS: Prototype, jQuery, Dojo та mootols.


Після того як я опублікував цю відповідь, я помітив, що хтось уже згадував Даджакс, але ця відповідь не описує, що пропонує бібліотека (і не змогла її прокоментувати)
denysonique

1
І якщо ви перевірите Github README, ви виявите, "чи слід використовувати django-dajax або django-dajaxice? Словом, ні. Я створив ці проекти 4 роки тому як класний інструмент для вирішення однієї конкретної проблеми, яку я мав на той час . У наші дні використання цих проектів є поганою ідеєю ".
jwd630

4

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

Особисто мені подобається, що jQuery може зробити з заданою кількістю коду, але найбільша проблема написання коду jQuery - це зробити його читабельним.

YUI набагато більш багатослівний, ніж інші рамки, оскільки він встановлює умову використання просторів імен, але є ярлики для написання менше коду, і це дозволяє уникати спроб зробити JavaScript схожим на щось інше.

Dojo намагається зробити JavaScript схожим на Java, і з мого досвіду досить повільно. У ньому є кілька приємних віджетів та реалізація javascript JavaScript-шаблону (що досить корисно навіть поза проектами 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 тут, якщо це видалено.
Карл Мейєр

Ну, я не кажу, що це гарна ідея :) Мій JavaScript досить слабкий, що у мене немає вибору, тому я використовую jquery. Я згадав про це, тому що я провів опитування 4-5 сайтів у верхній частині списку на djangosites.com і знайшов їх усіх за допомогою користувацьких js.
Ван Гейл

Насправді навіть адміністратор Django переходить на JQuery: code.djangoproject.com/changeset/12297
Chris Lawlor

1

Гаразд, це може бути суб'єктивним, оскільки визначення "найкращого" може означати різні для кожної людини. Але оскільки ви працюєте з Django, це означає, що ви зведете руки з синтаксисом Python. Одна помітна бібліотека Javascript, яка не надто піддається впливу, - Mochikit . Хороша річ у тому, що в ньому є синтаксис, знайомий програмісту Python (адже творець - програміст Python). На неї також дуже добре записана документація. TurboGears нестандартна підтримка Mochikit.


1

Якщо вам потрібно працювати з AJAX у ваших проектах джанго з дуже невеликим налаштуванням і простим у використанні, моя пропозиція:

джанго-аякс ( Github , Pypi )

Швидка, гнучка та проста у використанні бібліотека AJAX для проектів django. Містить ajax decorator, програмне забезпечення Ajax, ярлики та інше.


0

Фраза "Найкраща бібліотека AJAX" є дуже суб'єктивною і залежить від особистих уподобань, існуючих ноу-хау, вимог роботи тощо.

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

Усі сказали. Використовуйте jQuery. jQuery скелі;)


0

Джанго насправді не пов'язаний із клієнтом. Використовуйте все, що вам зручніше. Джанго добре грає з усім у цій галузі, тому що ви просто пишете це в шаблонах.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.